Browse Source

Merge remote-tracking branch 'upstream/master'

Mackey Kinard 4 năm trước cách đây
mục cha
commit
7d3a4f902f
100 tập tin đã thay đổi với 247 bổ sung247 xóa
  1. 1 1
      dist/preview release/babylon.js
  2. 1 1
      dist/preview release/babylon.max.js
  3. 1 1
      dist/preview release/babylon.max.js.map
  4. 1 1
      dist/preview release/packagesSizeBaseLine.json
  5. 1 1
      dist/preview release/viewer/babylon.viewer.js
  6. 1 1
      dist/preview release/viewer/babylon.viewer.max.js
  7. 1 1
      src/Actions/abstractActionManager.ts
  8. 2 2
      src/Actions/directActions.ts
  9. 1 1
      src/Actions/interpolateValueAction.ts
  10. 3 3
      src/Animations/animatable.ts
  11. 1 1
      src/Animations/animation.ts
  12. 2 2
      src/Animations/animationGroup.ts
  13. 1 1
      src/Animations/easing.ts
  14. 1 1
      src/Audio/Interfaces/IAudioEngine.ts
  15. 2 2
      src/Audio/audioEngine.ts
  16. 4 4
      src/Audio/audioSceneComponent.ts
  17. 4 4
      src/Audio/sound.ts
  18. 3 3
      src/Audio/soundTrack.ts
  19. 1 1
      src/Audio/weightedsound.ts
  20. 1 1
      src/Behaviors/Cameras/autoRotationBehavior.ts
  21. 1 1
      src/Behaviors/Cameras/bouncingBehavior.ts
  22. 1 1
      src/Behaviors/Cameras/framingBehavior.ts
  23. 3 3
      src/Behaviors/Meshes/attachToBoxBehavior.ts
  24. 1 1
      src/Behaviors/Meshes/fadeInOutBehavior.ts
  25. 2 2
      src/Behaviors/Meshes/pointerDragBehavior.ts
  26. 1 1
      src/Behaviors/Meshes/sixDofDragBehavior.ts
  27. 2 2
      src/Bones/bone.ts
  28. 2 2
      src/Bones/skeleton.ts
  29. 1 1
      src/Cameras/Inputs/BaseCameraMouseWheelInput.ts
  30. 1 1
      src/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.ts
  31. 1 1
      src/Cameras/Inputs/arcRotateCameraMouseWheelInput.ts
  32. 1 1
      src/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.ts
  33. 2 2
      src/Cameras/Inputs/followCameraMouseWheelInput.ts
  34. 1 1
      src/Cameras/Inputs/freeCameraDeviceOrientationInput.ts
  35. 1 1
      src/Cameras/Inputs/freeCameraGamepadInput.ts
  36. 1 1
      src/Cameras/Inputs/freeCameraKeyboardMoveInput.ts
  37. 1 1
      src/Cameras/Inputs/freeCameraMouseInput.ts
  38. 1 1
      src/Cameras/Inputs/freeCameraTouchInput.ts
  39. 1 1
      src/Cameras/Inputs/freeCameraVirtualJoystickInput.ts
  40. 1 1
      src/Cameras/VR/vrCameraMetrics.ts
  41. 2 2
      src/Cameras/VR/vrDeviceOrientationArcRotateCamera.ts
  42. 1 1
      src/Cameras/VR/vrDeviceOrientationFreeCamera.ts
  43. 1 1
      src/Cameras/VR/vrDeviceOrientationGamepadCamera.ts
  44. 2 2
      src/Cameras/VR/vrExperienceHelper.ts
  45. 1 1
      src/Cameras/VR/webVRCamera.ts
  46. 9 9
      src/Cameras/arcRotateCamera.ts
  47. 8 8
      src/Cameras/camera.ts
  48. 3 3
      src/Cameras/cameraInputsManager.ts
  49. 1 1
      src/Cameras/flyCamera.ts
  50. 2 2
      src/Cameras/followCamera.ts
  51. 1 1
      src/Cameras/freeCamera.ts
  52. 1 1
      src/Cameras/targetCamera.ts
  53. 1 1
      src/Cameras/virtualJoysticksCamera.ts
  54. 5 5
      src/Collisions/pickingInfo.ts
  55. 1 1
      src/Culling/Octrees/octree.ts
  56. 1 1
      src/Culling/Octrees/octreeBlock.ts
  57. 1 1
      src/Culling/Octrees/octreeSceneComponent.ts
  58. 2 2
      src/Culling/boundingInfo.ts
  59. 2 2
      src/Culling/boundingSphere.ts
  60. 3 3
      src/Culling/ray.ts
  61. 3 3
      src/Engines/Extensions/engine.occlusionQuery.ts
  62. 3 3
      src/Engines/Extensions/engine.rawTexture.ts
  63. 2 2
      src/Engines/IPipelineContext.ts
  64. 3 3
      src/Engines/WebGL/webGLPipelineContext.ts
  65. 2 2
      src/Engines/WebGPU/webgpuPipelineContext.ts
  66. 1 1
      src/Engines/WebGPU/webgpuShaderProcessingContext.ts
  67. 7 7
      src/Engines/constants.ts
  68. 12 12
      src/Engines/engine.ts
  69. 1 1
      src/Engines/engineCapabilities.ts
  70. 1 1
      src/Engines/instancingAttributeInfo.ts
  71. 3 3
      src/Engines/nativeEngine.ts
  72. 1 1
      src/Engines/nullEngine.ts
  73. 14 14
      src/Engines/thinEngine.ts
  74. 11 11
      src/Engines/webgpuEngine.ts
  75. 1 1
      src/Gizmos/axisDragGizmo.ts
  76. 1 1
      src/Gizmos/axisScaleGizmo.ts
  77. 6 6
      src/Gizmos/boundingBoxGizmo.ts
  78. 4 4
      src/Gizmos/gizmo.ts
  79. 3 3
      src/Gizmos/gizmoManager.ts
  80. 1 1
      src/Helpers/environmentHelper.ts
  81. 3 3
      src/Layers/effectLayer.ts
  82. 2 2
      src/Layers/effectLayerSceneComponent.ts
  83. 4 4
      src/Layers/glowLayer.ts
  84. 2 2
      src/Layers/highlightLayer.ts
  85. 1 1
      src/Layers/layer.ts
  86. 2 2
      src/Layers/layerSceneComponent.ts
  87. 3 3
      src/LensFlares/lensFlare.ts
  88. 1 1
      src/LensFlares/lensFlareSystem.ts
  89. 2 2
      src/LensFlares/lensFlareSystemSceneComponent.ts
  90. 1 1
      src/LibDeclarations/browser.d.ts
  91. 1 1
      src/LibDeclarations/webvr.d.ts
  92. 18 18
      src/Lights/Shadows/shadowGenerator.ts
  93. 1 1
      src/Lights/Shadows/shadowGeneratorSceneComponent.ts
  94. 8 8
      src/Lights/light.ts
  95. 1 1
      src/Lights/pointLight.ts
  96. 6 6
      src/Lights/shadowLight.ts
  97. 2 2
      src/Lights/spotLight.ts
  98. 1 1
      src/Loading/Plugins/babylonFileLoader.ts
  99. 1 1
      src/Loading/sceneLoader.ts
  100. 0 0
      src/Materials/Background/backgroundMaterial.ts

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
dist/preview release/babylon.js


+ 1 - 1
dist/preview release/babylon.max.js

@@ -48098,7 +48098,7 @@ var ThinEngine = /** @class */ (function () {
                 prepareTexture(texture, extension, scene, img, texture.invertY, noMipmap, false, prepareTextureProcessFunction, samplingMode);
             };
             if (!fromData || isBase64) {
-                if (buffer && (buffer.decoding || buffer.close)) {
+                if (buffer && (typeof buffer.decoding === "string" || buffer.close)) {
                     onload_1(buffer);
                 }
                 else {

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
dist/preview release/babylon.max.js.map


+ 1 - 1
dist/preview release/packagesSizeBaseLine.json

@@ -1 +1 @@
-{"thinEngineOnly":129992,"engineOnly":167257,"sceneOnly":522128,"minGridMaterial":697616,"minStandardMaterial":859790}
+{"thinEngineOnly":130009,"engineOnly":167274,"sceneOnly":522145,"minGridMaterial":697633,"minStandardMaterial":859807}

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
dist/preview release/viewer/babylon.viewer.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
dist/preview release/viewer/babylon.viewer.max.js


+ 1 - 1
src/Actions/abstractActionManager.ts

@@ -122,7 +122,7 @@ export abstract class AbstractActionManager implements IDisposable {
     /**
      * Does exist one action manager that handles actions of a given trigger
      * @param trigger defines the trigger to be tested
-     * @return a boolean indicating whether the trigger is handeled by at least one action manager
+     * @return a boolean indicating whether the trigger is handled by at least one action manager
     **/
     public static HasSpecificTrigger(trigger: number): boolean {
         for (var t in AbstractActionManager.Triggers) {

+ 2 - 2
src/Actions/directActions.ts

@@ -154,7 +154,7 @@ export class SetValueAction extends Action {
     }
 
     /**
-     * Execute the action and set the targetted property to the desired value.
+     * Execute the action and set the targeted property to the desired value.
      */
     public execute(): void {
         this._effectiveTarget[this._property] = this.value;
@@ -281,7 +281,7 @@ export class PlayAnimationAction extends Action {
      * @param triggerOptions defines the trigger options
      * @param target defines the target animation or animation name
      * @param from defines from where the animation should start (animation frame)
-     * @param end defines where the animation should stop (animation frame)
+     * @param to defines where the animation should stop (animation frame)
      * @param loop defines if the animation should loop or stop after the first play
      * @param condition defines the trigger related conditions
      */

+ 1 - 1
src/Actions/interpolateValueAction.ts

@@ -54,7 +54,7 @@ export class InterpolateValueAction extends Action {
      * @param target defines the object containing the value to interpolate
      * @param propertyPath defines the path to the property in the target object
      * @param value defines the target value at the end of the interpolation
-     * @param duration deines the time it will take for the property to interpolate to the value.
+     * @param duration defines the time it will take for the property to interpolate to the value.
      * @param condition defines the trigger related conditions
      * @param stopOtherAnimations defines if the other scene animations should be stopped when the action has been triggered
      * @param onInterpolationDone defines a callback raised once the interpolation animation has been done

+ 3 - 3
src/Animations/animatable.ts

@@ -187,7 +187,7 @@ export class Animatable {
 
     /**
      * Gets the source animation for a specific property
-     * @param property defines the propertyu to look for
+     * @param property defines the property to look for
      * @returns null or the source animation for the given property
      */
     public getAnimationByTargetProperty(property: string): Nullable<Animation> {
@@ -204,7 +204,7 @@ export class Animatable {
 
     /**
      * Gets the runtime animation for a specific property
-     * @param property defines the propertyu to look for
+     * @param property defines the property to look for
      * @returns null or the runtime animation for the given property
      */
     public getRuntimeAnimationByTargetProperty(property: string): Nullable<RuntimeAnimation> {
@@ -357,7 +357,7 @@ export class Animatable {
 
     /**
      * Wait asynchronously for the animation to end
-     * @returns a promise which will be fullfilled when the animation ends
+     * @returns a promise which will be fulfilled when the animation ends
      */
     public waitAsync(): Promise<Animatable> {
         return new Promise((resolve, reject) => {

+ 1 - 1
src/Animations/animation.ts

@@ -713,7 +713,7 @@ export class Animation {
     }
 
     /**
-     * Interpolates a Vector3 linearl
+     * Interpolates a Vector3 linearly
      * @param startValue Start value of the animation curve
      * @param endValue End value of the animation curve
      * @param gradient Scalar amount to interpolate

+ 2 - 2
src/Animations/animationGroup.ts

@@ -566,7 +566,7 @@ export class AnimationGroup implements IDisposable {
      * Clone the current animation group and returns a copy
      * @param newName defines the name of the new group
      * @param targetConverter defines an optional function used to convert current animation targets to new ones
-     * @returns the new aniamtion group
+     * @returns the new animation group
      */
     public clone(newName: string, targetConverter?: (oldTarget: any) => any): AnimationGroup {
         let newGroup = new AnimationGroup(newName || this.name, this._scene);
@@ -667,7 +667,7 @@ export class AnimationGroup implements IDisposable {
     }
 
     /**
-     * Creates a detailled string about the object
+     * Creates a detailed string about the object
      * @param fullDetails defines if the output string will support multiple levels of logging within scene loading
      * @returns a string representing the object
      */

+ 1 - 1
src/Animations/easing.ts

@@ -7,7 +7,7 @@ import { BezierCurve } from "../Maths/math.path";
  */
 export interface IEasingFunction {
     /**
-     * Given an input gradient between 0 and 1, this returns the corrseponding value
+     * Given an input gradient between 0 and 1, this returns the corresponding value
      * of the easing function.
      * The link below provides some of the most common examples of easing functions.
      * @see https://easings.net/

+ 1 - 1
src/Audio/Interfaces/IAudioEngine.ts

@@ -87,7 +87,7 @@ export interface IAudioEngine extends IDisposable {
 
     /**
      * Connect the audio engine to an audio analyser allowing some amazing
-     * synchornization between the sounds/music and your visualization (VuMeter for instance).
+     * synchronization between the sounds/music and your visualization (VuMeter for instance).
      * @see https://doc.babylonjs.com/how_to/playing_sounds_and_music#using-the-analyser
      * @param analyser The analyser to connect to the engine
      */

+ 2 - 2
src/Audio/audioEngine.ts

@@ -245,7 +245,7 @@ export class AudioEngine implements IAudioEngine {
     }
 
     /**
-     * Destroy and release the resources associated with the audio ccontext.
+     * Destroy and release the resources associated with the audio context.
      */
     public dispose(): void {
         if (this.canUseWebAudio && this._audioContextInitialized) {
@@ -291,7 +291,7 @@ export class AudioEngine implements IAudioEngine {
 
     /**
      * Connect the audio engine to an audio analyser allowing some amazing
-     * synchornization between the sounds/music and your visualization (VuMeter for instance).
+     * synchronization between the sounds/music and your visualization (VuMeter for instance).
      * @see https://doc.babylonjs.com/how_to/playing_sounds_and_music#using-the-analyser
      * @param analyser The analyser to connect to the engine
      */

+ 4 - 4
src/Audio/audioSceneComponent.ts

@@ -58,7 +58,7 @@ declare module "../scene" {
         _mainSoundTrack: SoundTrack;
         /**
          * The main sound track played by the scene.
-         * It cotains your primary collection of sounds.
+         * It contains your primary collection of sounds.
          */
         mainSoundTrack: SoundTrack;
         /**
@@ -253,7 +253,7 @@ export class AudioSceneComponent implements ISceneSerializableComponent {
     private static _CameraDirectionRH = new Vector3(0, 0, 1);
 
     /**
-     * The component name helpfull to identify the component in the list of scene components.
+     * The component name helpful to identify the component in the list of scene components.
      */
     public readonly name = SceneComponentConstants.NAME_AUDIO;
 
@@ -273,7 +273,7 @@ export class AudioSceneComponent implements ISceneSerializableComponent {
 
     private _headphone = false;
     /**
-     * Gets whether audio is outputing to headphone or not.
+     * Gets whether audio is outputting to headphone or not.
      * Please use the according Switch methods to change output.
      */
     public get headphone(): boolean {
@@ -379,7 +379,7 @@ export class AudioSceneComponent implements ISceneSerializableComponent {
     }
 
     /**
-     * Disposes the component and the associated ressources.
+     * Disposes the component and the associated resources.
      */
     public dispose(): void {
         const scene = this.scene;

+ 4 - 4
src/Audio/sound.ts

@@ -624,7 +624,7 @@ export class Sound {
 
     /**
      * Sets the position of the emitter if spatial sound is enabled
-     * @param newPosition Defines the new posisiton
+     * @param newPosition Defines the new position
      */
     public setPosition(newPosition: Vector3): void {
         this._position = newPosition;
@@ -721,7 +721,7 @@ export class Sound {
                         // required to manage properly the new suspended default state of Chrome
                         // When the option 'streaming: true' is used, we need first to wait for
                         // the audio engine to be unlocked by a user gesture before trying to play
-                        // an HTML Audio elememt
+                        // an HTML Audio element
                         var tryToPlay = () => {
                             if (Engine.audioEngine.unlocked) {
                                 var playPromise = this._htmlAudioElement.play();
@@ -1078,11 +1078,11 @@ export class Sound {
     }
 
     /**
-     * Parse a JSON representation of a sound to innstantiate in a given scene
+     * Parse a JSON representation of a sound to instantiate in a given scene
      * @param parsedSound Define the JSON representation of the sound (usually coming from the serialize method)
      * @param scene Define the scene the new parsed sound should be created in
      * @param rootUrl Define the rooturl of the load in case we need to fetch relative dependencies
-     * @param sourceSound Define a cound place holder if do not need to instantiate a new one
+     * @param sourceSound Define a sound place holder if do not need to instantiate a new one
      * @returns the newly parsed sound
      */
     public static Parse(parsedSound: any, scene: Scene, rootUrl: string, sourceSound?: Sound): Sound {

+ 3 - 3
src/Audio/soundTrack.ts

@@ -89,7 +89,7 @@ export class SoundTrack {
 
     /**
      * Adds a sound to this sound track
-     * @param sound define the cound to add
+     * @param sound define the sound to add
      * @ignoreNaming
      */
     public addSound(sound: Sound): void {
@@ -114,7 +114,7 @@ export class SoundTrack {
 
     /**
      * Removes a sound to this sound track
-     * @param sound define the cound to remove
+     * @param sound define the sound to remove
      * @ignoreNaming
      */
     public removeSound(sound: Sound): void {
@@ -162,7 +162,7 @@ export class SoundTrack {
 
     /**
      * Connect the sound track to an audio analyser allowing some amazing
-     * synchornization between the sounds/music and your visualization (VuMeter for instance).
+     * synchronization between the sounds/music and your visualization (VuMeter for instance).
      * @see https://doc.babylonjs.com/how_to/playing_sounds_and_music#using-the-analyser
      * @param analyser The analyser to connect to the engine
      */

+ 1 - 1
src/Audio/weightedsound.ts

@@ -55,7 +55,7 @@ export class WeightedSound {
     }
 
     /**
-     * The size of cone in degress for a directional sound in which there will be no attenuation.
+     * The size of cone in degrees for a directional sound in which there will be no attenuation.
      */
     public set directionalConeInnerAngle(value: number) {
         if (value !== this._coneInnerAngle) {

+ 1 - 1
src/Behaviors/Cameras/autoRotationBehavior.ts

@@ -99,7 +99,7 @@ export class AutoRotationBehavior implements Behavior<ArcRotateCamera> {
      * Initializes the behavior.
      */
     public init(): void {
-        // Do notihng
+        // Do nothing
     }
 
     /**

+ 1 - 1
src/Behaviors/Cameras/bouncingBehavior.ts

@@ -96,7 +96,7 @@ export class BouncingBehavior implements Behavior<ArcRotateCamera> {
      * Initializes the behavior.
      */
     public init(): void {
-        // Do notihng
+        // Do nothing
     }
 
     /**

+ 1 - 1
src/Behaviors/Cameras/framingBehavior.ts

@@ -176,7 +176,7 @@ export class FramingBehavior implements Behavior<ArcRotateCamera> {
      * Initializes the behavior.
      */
     public init(): void {
-        // Do notihng
+        // Do nothing
     }
 
     /**

+ 3 - 3
src/Behaviors/Meshes/attachToBoxBehavior.ts

@@ -38,7 +38,7 @@ export class AttachToBoxBehavior implements Behavior<Mesh> {
 
     /**
      * Creates the AttachToBoxBehavior, used to attach UI to the closest face of the box to a camera
-     * @param ui The transform node that should be attched to the mesh
+     * @param ui The transform node that should be attached to the mesh
      */
     constructor(private ui: TransformNode) {
         /* Does nothing */
@@ -61,7 +61,7 @@ export class AttachToBoxBehavior implements Behavior<Mesh> {
             Vector3.TransformCoordinatesToRef(v.direction, this._tmpMatrix, v.rotatedDirection);
             v.diff = Vector3.GetAngleBetweenVectors(v.rotatedDirection, targetDirection, Vector3.Cross(v.rotatedDirection, targetDirection));
         });
-        // Return the face information of the one with the normal closeset to target direction
+        // Return the face information of the one with the normal closest to target direction
         return this._faceVectors.reduce((min, p) => {
             if (min.ignore) {
                 return p;
@@ -109,7 +109,7 @@ export class AttachToBoxBehavior implements Behavior<Mesh> {
 
             // Get camera up direction
             Vector3.TransformCoordinatesToRef(Vector3.Up(), this._tmpMatrix, this._tmpVector);
-            // Ignore faces to not select a parrelel face for the up vector of the UI
+            // Ignore faces to not select a parallel face for the up vector of the UI
             this._faceVectors.forEach((v) => {
                 if (facing.direction.x && v.direction.x) {
                     v.ignore = true;

+ 1 - 1
src/Behaviors/Meshes/fadeInOutBehavior.ts

@@ -22,7 +22,7 @@ export class FadeInOutBehavior implements Behavior<Mesh> {
     private _ownerNode: Nullable<Mesh> = null;
 
     /**
-     * Instatiates the FadeInOutBehavior
+     * Instantiates the FadeInOutBehavior
      */
     constructor() {
     }

+ 2 - 2
src/Behaviors/Meshes/pointerDragBehavior.ts

@@ -246,7 +246,7 @@ export class PointerDragBehavior implements Behavior<AbstractMesh> {
     }
 
     /**
-     * Force relase the drag action by code.
+     * Force release the drag action by code.
      */
     public releaseDrag() {
         if (this.dragging) {
@@ -427,7 +427,7 @@ export class PointerDragBehavior implements Behavior<AbstractMesh> {
                 }
             } else {
                 Vector3.CrossToRef(this._localAxis, this._pointC, this._lookAt);
-                // Get perpendicular line from previous result and drag axis to adjust lineB to be perpendiculat to camera
+                // Get perpendicular line from previous result and drag axis to adjust lineB to be perpendicular to camera
                 Vector3.CrossToRef(this._localAxis, this._lookAt, this._lookAt);
                 this._lookAt.normalize();
             }

+ 1 - 1
src/Behaviors/Meshes/sixDofDragBehavior.ts

@@ -80,7 +80,7 @@ export class SixDofDragBehavior implements Behavior<Mesh> {
     public init() { }
 
     /**
-     * In the case of multiplea active cameras, the cameraToUseForPointers should be used if set instead of active camera
+     * In the case of multiple active cameras, the cameraToUseForPointers should be used if set instead of active camera
      */
     private get _pointerCamera() {
         if (this._scene.cameraToUseForPointers) {

+ 2 - 2
src/Bones/bone.ts

@@ -84,7 +84,7 @@ export class Bone extends Node {
      * @param localMatrix defines the local matrix
      * @param restPose defines the rest pose matrix
      * @param baseMatrix defines the base matrix
-     * @param index defines index of the bone in the hiearchy
+     * @param index defines index of the bone in the hierarchy
      */
     constructor(
         /**
@@ -485,7 +485,7 @@ export class Bone extends Node {
     }
 
     /**
-     * Set the postion of the bone in local or world space
+     * Set the position of the bone in local or world space
      * @param position The position to set the bone
      * @param space The space that the position is in
      * @param mesh The mesh that this bone is attached to.  This is only used in world space

+ 2 - 2
src/Bones/skeleton.ts

@@ -251,7 +251,7 @@ export class Skeleton implements IAnimatable {
     }
 
     /**
-     * Creater a new animation range
+     * Create a new animation range
      * @param name defines the name of the range
      * @param from defines the start key
      * @param to defines the end key
@@ -319,7 +319,7 @@ export class Skeleton implements IAnimatable {
         var ret = true;
         var frameOffset = this._getHighestAnimationFrame() + 1;
 
-        // make a dictionary of source skeleton's bones, so exact same order or doublely nested loop is not required
+        // make a dictionary of source skeleton's bones, so exact same order or doubly nested loop is not required
         var boneDict: { [key: string]: Bone } = {};
         var sourceBones = source.bones;
         var nBones: number;

+ 1 - 1
src/Cameras/Inputs/BaseCameraMouseWheelInput.ts

@@ -133,7 +133,7 @@ export abstract class BaseCameraMouseWheelInput implements ICameraInput<Camera>
     }
 
     /**
-     * Gets the class name of the current intput.
+     * Gets the class name of the current input.
      * @returns the class name
      */
     public getClassName(): string {

+ 1 - 1
src/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.ts

@@ -214,7 +214,7 @@ export class ArcRotateCameraKeyboardMoveInput implements ICameraInput<ArcRotateC
     }
 
     /**
-     * Gets the class name of the current intput.
+     * Gets the class name of the current input.
      * @returns the class name
      */
     public getClassName(): string {

+ 1 - 1
src/Cameras/Inputs/arcRotateCameraMouseWheelInput.ts

@@ -116,7 +116,7 @@ export class ArcRotateCameraMouseWheelInput implements ICameraInput<ArcRotateCam
     }
 
     /**
-     * Gets the class name of the current intput.
+     * Gets the class name of the current input.
      * @returns the class name
      */
     public getClassName(): string {

+ 1 - 1
src/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.ts

@@ -130,7 +130,7 @@ export class ArcRotateCameraVRDeviceOrientationInput implements ICameraInput<Arc
     }
 
     /**
-     * Gets the class name of the current intput.
+     * Gets the class name of the current input.
      * @returns the class name
      */
     public getClassName(): string {

+ 2 - 2
src/Cameras/Inputs/followCameraMouseWheelInput.ts

@@ -73,7 +73,7 @@ export class FollowCameraMouseWheelInput implements ICameraInput<FollowCamera> {
                                 <number>(<unknown>this.axisControlHeight) +
                                 <number>(<unknown>this.axisControlRotation)) <= 1,
                                "wheelDeltaPercentage only usable when mouse wheel " +
-                               "controlls ONE axis. " +
+                               "controls ONE axis. " +
                                "Currently enabled: " +
                                "axisControlRadius: " + this.axisControlRadius +
                                ", axisControlHeightOffset: " + this.axisControlHeight +
@@ -134,7 +134,7 @@ export class FollowCameraMouseWheelInput implements ICameraInput<FollowCamera> {
     }
 
     /**
-     * Gets the class name of the current intput.
+     * Gets the class name of the current input.
      * @returns the class name
      */
     public getClassName(): string {

+ 1 - 1
src/Cameras/Inputs/freeCameraDeviceOrientationInput.ts

@@ -208,7 +208,7 @@ export class FreeCameraDeviceOrientationInput implements ICameraInput<FreeCamera
     }
 
     /**
-     * Gets the class name of the current intput.
+     * Gets the class name of the current input.
      * @returns the class name
      */
     public getClassName(): string {

+ 1 - 1
src/Cameras/Inputs/freeCameraGamepadInput.ts

@@ -139,7 +139,7 @@ export class FreeCameraGamepadInput implements ICameraInput<FreeCamera> {
     }
 
     /**
-     * Gets the class name of the current intput.
+     * Gets the class name of the current input.
      * @returns the class name
      */
     public getClassName(): string {

+ 1 - 1
src/Cameras/Inputs/freeCameraKeyboardMoveInput.ts

@@ -169,7 +169,7 @@ export class FreeCameraKeyboardMoveInput implements ICameraInput<FreeCamera> {
     }
 
     /**
-     * Gets the class name of the current intput.
+     * Gets the class name of the current input.
      * @returns the class name
      */
     public getClassName(): string {

+ 1 - 1
src/Cameras/Inputs/freeCameraMouseInput.ts

@@ -219,7 +219,7 @@ export class FreeCameraMouseInput implements ICameraInput<FreeCamera> {
     }
 
     /**
-     * Gets the class name of the current intput.
+     * Gets the class name of the current input.
      * @returns the class name
      */
     public getClassName(): string {

+ 1 - 1
src/Cameras/Inputs/freeCameraTouchInput.ts

@@ -190,7 +190,7 @@ export class FreeCameraTouchInput implements ICameraInput<FreeCamera> {
     }
 
     /**
-     * Gets the class name of the current intput.
+     * Gets the class name of the current input.
      * @returns the class name
      */
     public getClassName(): string {

+ 1 - 1
src/Cameras/Inputs/freeCameraVirtualJoystickInput.ts

@@ -106,7 +106,7 @@ export class FreeCameraVirtualJoystickInput implements ICameraInput<FreeCamera>
     }
 
     /**
-     * Gets the class name of the current intput.
+     * Gets the class name of the current input.
      * @returns the class name
      */
     public getClassName(): string {

+ 1 - 1
src/Cameras/VR/vrCameraMetrics.ts

@@ -55,7 +55,7 @@ export class VRCameraMetrics {
      */
     public lensCenterOffset: number;
     /**
-     * Define if the current vr camera should compensate the distortion of the lense or not.
+     * Define if the current vr camera should compensate the distortion of the lens or not.
      */
     public compensateDistortion = true;
 

+ 2 - 2
src/Cameras/VR/vrDeviceOrientationArcRotateCamera.ts

@@ -23,12 +23,12 @@ export class VRDeviceOrientationArcRotateCamera extends ArcRotateCamera {
     /**
      * Creates a new VRDeviceOrientationArcRotateCamera
      * @param name defines camera name
-     * @param alpha defines the camera rotation along the logitudinal axis
+     * @param alpha defines the camera rotation along the longitudinal axis
      * @param beta defines the camera rotation along the latitudinal axis
      * @param radius defines the camera distance from its target
      * @param target defines the camera target
      * @param scene defines the scene the camera belongs to
-     * @param compensateDistortion defines if the camera needs to compensate the lens distorsion
+     * @param compensateDistortion defines if the camera needs to compensate the lens distortion
      * @param vrCameraMetrics defines the vr metrics associated to the camera
      */
     constructor(name: string, alpha: number, beta: number, radius: number, target: Vector3, scene: Scene, compensateDistortion = true, vrCameraMetrics: VRCameraMetrics = VRCameraMetrics.GetDefault()) {

+ 1 - 1
src/Cameras/VR/vrDeviceOrientationFreeCamera.ts

@@ -23,7 +23,7 @@ export class VRDeviceOrientationFreeCamera extends DeviceOrientationCamera {
      * @param name defines camera name
      * @param position defines the start position of the camera
      * @param scene defines the scene the camera belongs to
-     * @param compensateDistortion defines if the camera needs to compensate the lens distorsion
+     * @param compensateDistortion defines if the camera needs to compensate the lens distortion
      * @param vrCameraMetrics defines the vr metrics associated to the camera
      */
     constructor(name: string, position: Vector3, scene: Scene, compensateDistortion = true, vrCameraMetrics: VRCameraMetrics = VRCameraMetrics.GetDefault()) {

+ 1 - 1
src/Cameras/VR/vrDeviceOrientationGamepadCamera.ts

@@ -21,7 +21,7 @@ export class VRDeviceOrientationGamepadCamera extends VRDeviceOrientationFreeCam
      * @param name defines camera name
      * @param position defines the start position of the camera
      * @param scene defines the scene the camera belongs to
-     * @param compensateDistortion defines if the camera needs to compensate the lens distorsion
+     * @param compensateDistortion defines if the camera needs to compensate the lens distortion
      * @param vrCameraMetrics defines the vr metrics associated to the camera
      */
     constructor(name: string, position: Vector3, scene: Scene, compensateDistortion = true, vrCameraMetrics: VRCameraMetrics = VRCameraMetrics.GetDefault()) {

+ 2 - 2
src/Cameras/VR/vrExperienceHelper.ts

@@ -474,12 +474,12 @@ export class VRExperienceHelper {
     private _raySelectionPredicate: (mesh: AbstractMesh) => boolean;
 
     /**
-     * To be optionaly changed by user to define custom ray selection
+     * To be optionally changed by user to define custom ray selection
      */
     public raySelectionPredicate: (mesh: AbstractMesh) => boolean;
 
     /**
-     * To be optionaly changed by user to define custom selection logic (after ray selection)
+     * To be optionally changed by user to define custom selection logic (after ray selection)
      */
     public meshSelectionPredicate: (mesh: AbstractMesh) => boolean;
 

+ 1 - 1
src/Cameras/VR/webVRCamera.ts

@@ -147,7 +147,7 @@ export interface WebVROptions {
     defaultHeight?: number;
 
     /**
-     * If multiview should be used if availible (default: false)
+     * If multiview should be used if available (default: false)
      */
     useMultiview?: boolean;
 }

+ 9 - 9
src/Cameras/arcRotateCamera.ts

@@ -198,13 +198,13 @@ export class ArcRotateCamera extends TargetCamera {
 
     /**
      * Defines the maximum distance the camera can pan.
-     * This could help keeping the cammera always in your scene.
+     * This could help keeping the camera always in your scene.
      */
     @serialize()
     public panningDistanceLimit: Nullable<number> = null;
 
     /**
-     * Defines the target of the camera before paning.
+     * Defines the target of the camera before panning.
      */
     @serializeAsVector3()
     public panningOriginTarget: Vector3 = Vector3.Zero();
@@ -457,7 +457,7 @@ export class ArcRotateCamera extends TargetCamera {
     //-- end properties for backward compatibility for inputs
 
     /**
-     * Defines how much the radius should be scaled while zomming on a particular mesh (through the zoomOn function)
+     * Defines how much the radius should be scaled while zooming on a particular mesh (through the zoomOn function)
      */
     @serialize()
     public zoomOnFactor = 1;
@@ -639,12 +639,12 @@ export class ArcRotateCamera extends TargetCamera {
     /**
      * Instantiates a new ArcRotateCamera in a given scene
      * @param name Defines the name of the camera
-     * @param alpha Defines the camera rotation along the logitudinal axis
+     * @param alpha Defines the camera rotation along the longitudinal axis
      * @param beta Defines the camera rotation along the latitudinal axis
      * @param radius Defines the camera distance from its target
      * @param target Defines the camera target
      * @param scene Defines the scene the camera belongs to
-     * @param setActiveOnSceneIfNoneActive Defines wheter the camera should be marked as active if not other active cameras have been defined
+     * @param setActiveOnSceneIfNoneActive Defines whether the camera should be marked as active if not other active cameras have been defined
      */
     constructor(name: string, alpha: number, beta: number, radius: number, target: Vector3, scene: Scene, setActiveOnSceneIfNoneActive = true) {
         super(name, Vector3.Zero(), scene, setActiveOnSceneIfNoneActive);
@@ -774,20 +774,20 @@ export class ArcRotateCamera extends TargetCamera {
     /**
      * Attached controls to the current camera.
      * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)
-     * @param useCtrlForPanning  Defines whether ctrl is used for paning within the controls
+     * @param useCtrlForPanning  Defines whether ctrl is used for panning within the controls
      */
     public attachControl(noPreventDefault: boolean, useCtrlForPanning: boolean): void;
     /**
      * Attached controls to the current camera.
      * @param ignored defines an ignored parameter kept for backward compatibility. If you want to define the source input element, you can set engine.inputElement before calling camera.attachControl
      * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)
-     * @param useCtrlForPanning  Defines whether ctrl is used for paning within the controls
+     * @param useCtrlForPanning  Defines whether ctrl is used for panning within the controls
      */
     public attachControl(ignored: any, noPreventDefault: boolean, useCtrlForPanning: boolean): void;
     /**
      * Attached controls to the current camera.
      * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)
-     * @param useCtrlForPanning  Defines whether ctrl is used for paning within the controls
+     * @param useCtrlForPanning  Defines whether ctrl is used for panning within the controls
      * @param panningMouseButton Defines whether panning is allowed through mouse click button
      */
     public attachControl(noPreventDefault: boolean, useCtrlForPanning: boolean, panningMouseButton: number): void;
@@ -795,7 +795,7 @@ export class ArcRotateCamera extends TargetCamera {
      * Attached controls to the current camera.
      * @param ignored defines an ignored parameter kept for backward compatibility. If you want to define the source input element, you can set engine.inputElement before calling camera.attachControl
      * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)
-     * @param useCtrlForPanning  Defines whether ctrl is used for paning within the controls
+     * @param useCtrlForPanning  Defines whether ctrl is used for panning within the controls
      * @param panningMouseButton Defines whether panning is allowed through mouse click button
      */
     public attachControl(ignored: any, noPreventDefault?: boolean, useCtrlForPanning: boolean | number = true, panningMouseButton: number = 2): void {

+ 8 - 8
src/Cameras/camera.ts

@@ -56,7 +56,7 @@ export class Camera extends Node {
     public static readonly FOVMODE_HORIZONTAL_FIXED = 1;
 
     /**
-     * This specifies ther is no need for a camera rig.
+     * This specifies there is no need for a camera rig.
      * Basically only one eye is rendered corresponding to the camera.
      */
     public static readonly RIG_MODE_NONE = 0;
@@ -244,10 +244,10 @@ export class Camera extends Node {
 
     /**
      * Defines the list of custom render target which are rendered to and then used as the input to this camera's render. Eg. display another camera view on a TV in the main scene
-     * This is pretty helpfull if you wish to make a camera render to a texture you could reuse somewhere
+     * This is pretty helpful if you wish to make a camera render to a texture you could reuse somewhere
      * else in the scene. (Eg. security camera)
      *
-     * To change the final output target of the camera, camera.outputRenderTarget should be used instead (eg. webXR renders to a render target corrisponding to an HMD)
+     * To change the final output target of the camera, camera.outputRenderTarget should be used instead (eg. webXR renders to a render target corresponding to an HMD)
      */
     public customRenderTargets = new Array<RenderTargetTexture>();
     /**
@@ -585,7 +585,7 @@ export class Camera extends Node {
     }
 
     /**
-     * Internal, gets the first post proces.
+     * Internal, gets the first post process.
      * @returns the first post process to be run on this camera.
      */
     public _getFirstPostProcess(): Nullable<PostProcess> {
@@ -872,7 +872,7 @@ export class Camera extends Node {
 
     /**
      * Checks if a cullable object (mesh...) is in the camera frustum
-     * Unlike isInFrustum this cheks the full bounding box
+     * Unlike isInFrustum this checks the full bounding box
      * @param target The object to check
      * @returns true if the object is in frustum otherwise false
      */
@@ -885,7 +885,7 @@ export class Camera extends Node {
     /**
      * Gets a ray in the forward direction from the camera.
      * @param length Defines the length of the ray to create
-     * @param transform Defines the transform to apply to the ray, by default the world matrx is used to create a workd space ray
+     * @param transform Defines the transform to apply to the ray, by default the world matrix is used to create a workd space ray
      * @param origin Defines the start point of the ray which defaults to the camera position
      * @returns the forward ray
      */
@@ -1182,7 +1182,7 @@ export class Camera extends Node {
     }
 
     /**
-     * Serialiaze the camera setup to a json represention
+     * Serialiaze the camera setup to a json representation
      * @returns the JSON representation
      */
     public serialize(): any {
@@ -1255,7 +1255,7 @@ export class Camera extends Node {
      * @param scene The scene the result will construct the camera in
      * @param interaxial_distance In case of stereoscopic setup, the distance between both eyes
      * @param isStereoscopicSideBySide In case of stereoscopic setup, should the sereo be side b side
-     * @returns a factory method to construc the camera
+     * @returns a factory method to construct the camera
      */
     static GetConstructorFromName(type: string, name: string, scene: Scene, interaxial_distance: number = 0, isStereoscopicSideBySide: boolean = true): () => Camera {
         let constructorFunc = Node.Construct(type, name, scene, {

+ 3 - 3
src/Cameras/cameraInputsManager.ts

@@ -19,7 +19,7 @@ export interface ICameraInput<TCamera extends Camera> {
      */
     camera: Nullable<TCamera>;
     /**
-     * Gets the class name of the current intput.
+     * Gets the class name of the current input.
      * @returns the class name
      */
     getClassName(): string;
@@ -65,7 +65,7 @@ export interface CameraInputsMap<TCamera extends Camera> {
  */
 export class CameraInputsManager<TCamera extends Camera> {
     /**
-     * Defines the list of inputs attahed to the camera.
+     * Defines the list of inputs attached to the camera.
      */
     public attached: CameraInputsMap<TCamera>;
 
@@ -93,7 +93,7 @@ export class CameraInputsManager<TCamera extends Camera> {
 
     /**
      * Instantiate a new Camera Input Manager.
-     * @param camera Defines the camera the input manager blongs to
+     * @param camera Defines the camera the input manager belongs to
      */
     constructor(camera: TCamera) {
         this.attached = {};

+ 1 - 1
src/Cameras/flyCamera.ts

@@ -264,7 +264,7 @@ export class FlyCamera extends TargetCamera {
      * @param name Define the name of the camera in the scene.
      * @param position Define the starting position of the camera in the scene.
      * @param scene Define the scene the camera belongs to.
-     * @param setActiveOnSceneIfNoneActive Defines wheter the camera should be marked as active, if no other camera has been defined as active.
+     * @param setActiveOnSceneIfNoneActive Defines whether the camera should be marked as active, if no other camera has been defined as active.
     */
     constructor(name: string, position: Vector3, scene: Scene, setActiveOnSceneIfNoneActive = true) {
         super(name, position, scene, setActiveOnSceneIfNoneActive);

+ 2 - 2
src/Cameras/followCamera.ts

@@ -65,7 +65,7 @@ export class FollowCamera extends TargetCamera {
 
     /**
      * Define a height offset between the camera and the object it follows.
-     * It can help following an object from the top (like a car chaing a plane)
+     * It can help following an object from the top (like a car chasing a plane)
      */
     @serialize()
     public heightOffset: number = 4;
@@ -259,7 +259,7 @@ export class ArcFollowCamera extends TargetCamera {
      * Instantiates a new ArcFollowCamera
      * @see https://doc.babylonjs.com/features/cameras#follow-camera
      * @param name Define the name of the camera
-     * @param alpha Define the rotation angle of the camera around the logitudinal axis
+     * @param alpha Define the rotation angle of the camera around the longitudinal axis
      * @param beta Define the rotation angle of the camera around the elevation axis
      * @param radius Define the radius of the camera from its target point
      * @param target Define the target of the camera

+ 1 - 1
src/Cameras/freeCamera.ts

@@ -213,7 +213,7 @@ export class FreeCamera extends TargetCamera {
      * @param name Define the name of the camera in the scene
      * @param position Define the start position of the camera in the scene
      * @param scene Define the scene the camera belongs to
-     * @param setActiveOnSceneIfNoneActive Defines wheter the camera should be marked as active if not other active cameras have been defined
+     * @param setActiveOnSceneIfNoneActive Defines whether the camera should be marked as active if not other active cameras have been defined
      */
     constructor(name: string, position: Vector3, scene: Scene, setActiveOnSceneIfNoneActive = true) {
         super(name, position, scene, setActiveOnSceneIfNoneActive);

+ 1 - 1
src/Cameras/targetCamera.ts

@@ -106,7 +106,7 @@ export class TargetCamera extends Camera {
      * @param name Defines the name of the camera in the scene
      * @param position Defines the start position of the camera in the scene
      * @param scene Defines the scene the camera belongs to
-     * @param setActiveOnSceneIfNoneActive Defines wheter the camera should be marked as active if not other active cameras have been defined
+     * @param setActiveOnSceneIfNoneActive Defines whether the camera should be marked as active if not other active cameras have been defined
      */
     constructor(name: string, position: Vector3, scene: Scene, setActiveOnSceneIfNoneActive = true) {
         super(name, position, scene, setActiveOnSceneIfNoneActive);

+ 1 - 1
src/Cameras/virtualJoysticksCamera.ts

@@ -18,7 +18,7 @@ Node.AddNodeConstructor("VirtualJoysticksCamera", (name, scene) => {
 export class VirtualJoysticksCamera extends FreeCamera {
 
     /**
-     * Intantiates a VirtualJoysticksCamera. It can be useful in First Person Shooter game for instance.
+     * Instantiates a VirtualJoysticksCamera. It can be useful in First Person Shooter game for instance.
      * It is identical to the Free Camera and simply adds by default a virtual joystick.
      * Virtual Joysticks are on-screen 2D graphics that are used to control the camera or other scene items.
      * @see https://doc.babylonjs.com/features/cameras#virtual-joysticks-camera

+ 5 - 5
src/Collisions/pickingInfo.ts

@@ -43,7 +43,7 @@ export class PickingInfo {
     /** If a sprite was picked, this will be the sprite the pick collided with */
     public pickedSprite: Nullable<Sprite> = null;
 
-    /** If we are pikcing a mesh with thin instance, this will give you the picked thin instance */
+    /** If we are picking a mesh with thin instance, this will give you the picked thin instance */
     public thinInstanceIndex = -1;
     /**
      * If a mesh was used to do the picking (eg. 6dof controller) this will be populated.
@@ -55,10 +55,10 @@ export class PickingInfo {
     public ray: Nullable<Ray> = null;
 
     /**
-     * Gets the normal correspodning to the face the pick collided with
+     * Gets the normal corresponding to the face the pick collided with
      * @param useWorldCoordinates If the resulting normal should be relative to the world (default: false)
      * @param useVerticesNormals If the vertices normals should be used to calculate the normal instead of the normal map
-     * @returns The normal correspodning to the face the pick collided with
+     * @returns The normal corresponding to the face the pick collided with
      */
     public getNormal(useWorldCoordinates = false, useVerticesNormals = true): Nullable<Vector3> {
         if (!this.pickedMesh || !this.pickedMesh.isVerticesDataPresent(VertexBuffer.NormalKind)) {
@@ -120,8 +120,8 @@ export class PickingInfo {
     }
 
     /**
-     * Gets the texture coordinates of where the pick occured
-     * @returns the vector containing the coordnates of the texture
+     * Gets the texture coordinates of where the pick occurred
+     * @returns the vector containing the coordinates of the texture
      */
     public getTextureCoordinates(): Nullable<Vector2> {
         if (!this.pickedMesh || !this.pickedMesh.isVerticesDataPresent(VertexBuffer.UVKind)) {

+ 1 - 1
src/Culling/Octrees/octree.ts

@@ -27,7 +27,7 @@ export class Octree<T> {
     /**
      * Creates a octree
      * @see https://doc.babylonjs.com/how_to/optimizing_your_scene_with_octrees
-     * @param creationFunc function to be used to instatiate the octree
+     * @param creationFunc function to be used to instantiate the octree
      * @param maxBlockCapacity defines the maximum number of meshes you want on your octree's leaves (default: 64)
      * @param maxDepth defines the maximum depth (sub-levels) for your octree. Default value is 2, which means 8 8 8 = 512 blocks :) (This parameter takes precedence over capacity.)
      */

+ 1 - 1
src/Culling/Octrees/octreeBlock.ts

@@ -154,7 +154,7 @@ export class OctreeBlock<T> {
     }
 
     /**
-     * Test if the current block intersects the furstum planes and if yes, then add its content to the selection array
+     * Test if the current block intersects the frustum planes and if yes, then add its content to the selection array
      * @param frustumPlanes defines the frustum planes to test
      * @param selection defines the array to store current content if selection is positive
      * @param allowDuplicate defines if the selection array can contains duplicated entries

+ 1 - 1
src/Culling/Octrees/octreeSceneComponent.ts

@@ -239,7 +239,7 @@ export class OctreeSceneComponent {
     }
 
     /**
-     * Disposes the component and the associated ressources.
+     * Disposes the component and the associated resources.
      */
     public dispose(): void {
         // Nothing to do here.

+ 2 - 2
src/Culling/boundingInfo.ts

@@ -41,7 +41,7 @@ export interface ICullable {
     isInFrustum(frustumPlanes: Plane[]): boolean;
     /**
      * Checks if a cullable object (mesh...) is in the camera frustum
-     * Unlike isInFrustum this cheks the full bounding box
+     * Unlike isInFrustum this checks the full bounding box
      * @param frustumPlanes Camera near/planes
      * @returns true if the object is in frustum otherwise false
      */
@@ -216,7 +216,7 @@ export class BoundingInfo implements ICullable {
 
     /**
      * Checks if a cullable object (mesh...) is in the camera frustum
-     * Unlike isInFrustum this cheks the full bounding box
+     * Unlike isInFrustum this checks the full bounding box
      * @param frustumPlanes Camera near/planes
      * @returns true if the object is in frustum otherwise false
      */

+ 2 - 2
src/Culling/boundingSphere.ts

@@ -151,10 +151,10 @@ export class BoundingSphere {
 
     // Statics
     /**
-     * Checks if two sphere intersct
+     * Checks if two sphere intersect
      * @param sphere0 sphere 0
      * @param sphere1 sphere 1
-     * @returns true if the speres intersect
+     * @returns true if the spheres intersect
      */
     public static Intersects(sphere0: DeepImmutable<BoundingSphere>, sphere1: DeepImmutable<BoundingSphere>): boolean {
         const squareDistance = Vector3.DistanceSquared(sphere0.centerWorld, sphere1.centerWorld);

+ 3 - 3
src/Culling/ray.ts

@@ -37,7 +37,7 @@ export class Ray {
     // Methods
     /**
      * Checks if the ray intersects a box
-     * This does not account for the ray lenght by design to improve perfs.
+     * This does not account for the ray length by design to improve perfs.
      * @param minimum bound of the box
      * @param maximum bound of the box
      * @param intersectionTreshold extra extend to be added to the box in all direction
@@ -282,7 +282,7 @@ export class Ray {
      * Checks if ray intersects a mesh
      * @param mesh the mesh to check
      * @param fastCheck defines if the first intersection will be used (and not the closest)
-     * @returns picking info of the intersecton
+     * @returns picking info of the intersection
      */
     public intersectsMesh(mesh: DeepImmutable<AbstractMesh>, fastCheck?: boolean): PickingInfo {
         var tm = TmpVectors.Matrix[0];
@@ -339,7 +339,7 @@ export class Ray {
     private static rayl = 10e8;
 
     /**
-     * Intersection test between the ray and a given segment whithin a given tolerance (threshold)
+     * Intersection test between the ray and a given segment within a given tolerance (threshold)
      * @param sega the first point of the segment to test the intersection against
      * @param segb the second point of the segment to test the intersection against
      * @param threshold the tolerance margin, if the ray doesn't intersect the segment but is close to the given threshold, the intersection is successful

+ 3 - 3
src/Engines/Extensions/engine.occlusionQuery.ts

@@ -290,7 +290,7 @@ declare module "../../Meshes/abstractMesh" {
         _occlusionDataStorage: _OcclusionDataStorage;
 
         /**
-        * This number indicates the number of allowed retries before stop the occlusion query, this is useful if the occlusion query is taking long time before to the query result is retireved, the query result indicates if the object is visible within the scene or not and based on that Babylon.Js engine decideds to show or hide the object.
+        * This number indicates the number of allowed retries before stop the occlusion query, this is useful if the occlusion query is taking long time before to the query result is retireved, the query result indicates if the object is visible within the scene or not and based on that Babylon.Js engine decides to show or hide the object.
         * The default value is -1 which means don't break the query and wait till the result
         * @see https://doc.babylonjs.com/features/occlusionquery
         */
@@ -298,7 +298,7 @@ declare module "../../Meshes/abstractMesh" {
 
         /**
          * This property is responsible for starting the occlusion query within the Mesh or not, this property is also used to determine what should happen when the occlusionRetryCount is reached. It has supports 3 values:
-         * * OCCLUSION_TYPE_NONE (Default Value): this option means no occlusion query whith the Mesh.
+         * * OCCLUSION_TYPE_NONE (Default Value): this option means no occlusion query within the Mesh.
          * * OCCLUSION_TYPE_OPTIMISTIC: this option is means use occlusion query and if occlusionRetryCount is reached and the query is broken show the mesh.
          * * OCCLUSION_TYPE_STRICT: this option is means use occlusion query and if occlusionRetryCount is reached and the query is broken restore the last state of the mesh occlusion if the mesh was visible then show the mesh if was hidden then hide don't show.
          * @see https://doc.babylonjs.com/features/occlusionquery
@@ -314,7 +314,7 @@ declare module "../../Meshes/abstractMesh" {
         occlusionQueryAlgorithmType: number;
 
         /**
-        * Gets or sets whether the mesh is occluded or not, it is used also to set the intial state of the mesh to be occluded or not
+        * Gets or sets whether the mesh is occluded or not, it is used also to set the initial state of the mesh to be occluded or not
         * @see https://doc.babylonjs.com/features/occlusionquery
         */
         isOccluded: boolean;

+ 3 - 3
src/Engines/Extensions/engine.rawTexture.ts

@@ -60,7 +60,7 @@ declare module "../../Engines/thinEngine" {
 
         /**
          * Update a raw cube texture
-         * @param texture defines the texture to udpdate
+         * @param texture defines the texture to update
          * @param data defines the data to store
          * @param format defines the data format
          * @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)
@@ -70,7 +70,7 @@ declare module "../../Engines/thinEngine" {
 
         /**
          * Update a raw cube texture
-         * @param texture defines the texture to udpdate
+         * @param texture defines the texture to update
          * @param data defines the data to store
          * @param format defines the data format
          * @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)
@@ -81,7 +81,7 @@ declare module "../../Engines/thinEngine" {
 
         /**
          * Update a raw cube texture
-         * @param texture defines the texture to udpdate
+         * @param texture defines the texture to update
          * @param data defines the data to store
          * @param format defines the data format
          * @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)

+ 2 - 2
src/Engines/IPipelineContext.ts

@@ -138,14 +138,14 @@ export interface IPipelineContext {
     setMatrix(uniformName: string, matrix: IMatrixLike): void;
 
     /**
-     * Sets a 3x3 matrix on a uniform variable. (Speicified as [1,2,3,4,5,6,7,8,9] will result in [1,2,3][4,5,6][7,8,9] matrix)
+     * Sets a 3x3 matrix on a uniform variable. (Specified as [1,2,3,4,5,6,7,8,9] will result in [1,2,3][4,5,6][7,8,9] matrix)
      * @param uniformName Name of the variable.
      * @param matrix matrix to be set.
      */
     setMatrix3x3(uniformName: string, matrix: Float32Array): void;
 
     /**
-     * Sets a 2x2 matrix on a uniform variable. (Speicified as [1,2,3,4] will result in [1,2][3,4] matrix)
+     * Sets a 2x2 matrix on a uniform variable. (Specified as [1,2,3,4] will result in [1,2][3,4] matrix)
      * @param uniformName Name of the variable.
      * @param matrix matrix to be set.
      */

+ 3 - 3
src/Engines/WebGL/webGLPipelineContext.ts

@@ -175,7 +175,7 @@ export class WebGLPipelineContext implements IPipelineContext {
     }
 
     /**
-     * Sets an interger value on a uniform variable.
+     * Sets an integer value on a uniform variable.
      * @param uniformName Name of the variable.
      * @param value Value to be set.
      */
@@ -344,7 +344,7 @@ export class WebGLPipelineContext implements IPipelineContext {
     }
 
     /**
-     * Sets a 3x3 matrix on a uniform variable. (Speicified as [1,2,3,4,5,6,7,8,9] will result in [1,2,3][4,5,6][7,8,9] matrix)
+     * Sets a 3x3 matrix on a uniform variable. (Specified as [1,2,3,4,5,6,7,8,9] will result in [1,2,3][4,5,6][7,8,9] matrix)
      * @param uniformName Name of the variable.
      * @param matrix matrix to be set.
      */
@@ -354,7 +354,7 @@ export class WebGLPipelineContext implements IPipelineContext {
     }
 
     /**
-     * Sets a 2x2 matrix on a uniform variable. (Speicified as [1,2,3,4] will result in [1,2][3,4] matrix)
+     * Sets a 2x2 matrix on a uniform variable. (Specified as [1,2,3,4] will result in [1,2][3,4] matrix)
      * @param uniformName Name of the variable.
      * @param matrix matrix to be set.
      */

+ 2 - 2
src/Engines/WebGPU/webgpuPipelineContext.ts

@@ -334,7 +334,7 @@ export class WebGPUPipelineContext implements IPipelineContext {
     }
 
     /**
-     * Sets a 3x3 matrix on a uniform variable. (Speicified as [1,2,3,4,5,6,7,8,9] will result in [1,2,3][4,5,6][7,8,9] matrix)
+     * Sets a 3x3 matrix on a uniform variable. (Specified as [1,2,3,4,5,6,7,8,9] will result in [1,2,3][4,5,6][7,8,9] matrix)
      * @param uniformName Name of the variable.
      * @param matrix matrix to be set.
      */
@@ -346,7 +346,7 @@ export class WebGPUPipelineContext implements IPipelineContext {
     }
 
     /**
-     * Sets a 2x2 matrix on a uniform variable. (Speicified as [1,2,3,4] will result in [1,2][3,4] matrix)
+     * Sets a 2x2 matrix on a uniform variable. (Specified as [1,2,3,4] will result in [1,2][3,4] matrix)
      * @param uniformName Name of the variable.
      * @param matrix matrix to be set.
      */

+ 1 - 1
src/Engines/WebGPU/webgpuShaderProcessingContext.ts

@@ -106,7 +106,7 @@ export class WebGPUShaderProcessingContext implements ShaderProcessingContext {
         }
 
         if (this.freeSetIndex === _maxSets) {
-            throw "Too many textures or UBOs have been declared and it is not supprted in WebGPU.";
+            throw "Too many textures or UBOs have been declared and it is not supported in WebGPU.";
         }
 
         const returnValue = {

+ 7 - 7
src/Engines/constants.ts

@@ -1,4 +1,4 @@
-/** Defines the cross module used constants to avoid circular dependncies */
+/** Defines the cross module used constants to avoid circular dependencies */
 export class Constants {
     /** Defines that alpha blending is disabled */
     public static readonly ALPHA_DISABLE = 0;
@@ -74,16 +74,16 @@ export class Constants {
      */
     public static readonly ALPHA_EQUATION_DARKEN = 5;
 
-    /** Defines that the ressource is not delayed*/
+    /** Defines that the resource is not delayed*/
     public static readonly DELAYLOADSTATE_NONE = 0;
-    /** Defines that the ressource was successfully delay loaded */
+    /** Defines that the resource was successfully delay loaded */
     public static readonly DELAYLOADSTATE_LOADED = 1;
-    /** Defines that the ressource is currently delay loading */
+    /** Defines that the resource is currently delay loading */
     public static readonly DELAYLOADSTATE_LOADING = 2;
-    /** Defines that the ressource is delayed and has not started loading */
+    /** Defines that the resource is delayed and has not started loading */
     public static readonly DELAYLOADSTATE_NOTLOADED = 4;
 
-    // Depht or Stencil test Constants.
+    // Depth or Stencil test Constants.
     /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will never pass. i.e. Nothing will be drawn */
     public static readonly NEVER = 0x0200;
     /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will always pass. i.e. Pixels will be drawn in the order they are drawn */
@@ -507,7 +507,7 @@ export class Constants {
      */
     public static readonly SCENELOADER_SUMMARY_LOGGING = 2;
     /**
-     * Detailled logging while loading
+     * Detailed logging while loading
      */
     public static readonly SCENELOADER_DETAILED_LOGGING = 3;
 

+ 12 - 12
src/Engines/engine.ts

@@ -83,13 +83,13 @@ export class Engine extends ThinEngine {
      */
     public static readonly ALPHA_SCREENMODE = Constants.ALPHA_SCREENMODE;
 
-    /** Defines that the ressource is not delayed*/
+    /** Defines that the resource is not delayed*/
     public static readonly DELAYLOADSTATE_NONE = Constants.DELAYLOADSTATE_NONE;
-    /** Defines that the ressource was successfully delay loaded */
+    /** Defines that the resource was successfully delay loaded */
     public static readonly DELAYLOADSTATE_LOADED = Constants.DELAYLOADSTATE_LOADED;
-    /** Defines that the ressource is currently delay loading */
+    /** Defines that the resource is currently delay loading */
     public static readonly DELAYLOADSTATE_LOADING = Constants.DELAYLOADSTATE_LOADING;
-    /** Defines that the ressource is delayed and has not started loading */
+    /** Defines that the resource is delayed and has not started loading */
     public static readonly DELAYLOADSTATE_NOTLOADED = Constants.DELAYLOADSTATE_NOTLOADED;
 
     // Depht or Stencil test Constants.
@@ -306,7 +306,7 @@ export class Engine extends ThinEngine {
 
     /**
      * Method called to create the default loading screen.
-     * This can be overriden in your own app.
+     * This can be overridden in your own app.
      * @param canvas The rendering canvas element
      * @returns The loading screen
      */
@@ -394,7 +394,7 @@ export class Engine extends ThinEngine {
     public onBeforeShaderCompilationObservable = new Observable<Engine>();
 
     /**
-     * Observable raised when the engine has jsut compiled a shader
+     * Observable raised when the engine has just compiled a shader
      */
     public onAfterShaderCompilationObservable = new Observable<Engine>();
 
@@ -476,7 +476,7 @@ export class Engine extends ThinEngine {
 
     /**
      * Creates a new engine
-     * @param canvasOrContext defines the canvas or WebGL context to use for rendering. If you provide a WebGL context, Babylon.js will not hook events on the canvas (like pointers, keyboards, etc...) so no event observables will be available. This is mostly used when Babylon.js is used as a plugin on a system which alreay used the WebGL context
+     * @param canvasOrContext defines the canvas or WebGL context to use for rendering. If you provide a WebGL context, Babylon.js will not hook events on the canvas (like pointers, keyboards, etc...) so no event observables will be available. This is mostly used when Babylon.js is used as a plugin on a system which already used the WebGL context
      * @param antialias defines enable antialiasing (default: false)
      * @param options defines further options to be sent to the getContext() function
      * @param adaptToDeviceRatio defines whether to adapt to the device's viewport characteristics (default: false)
@@ -639,7 +639,7 @@ export class Engine extends ThinEngine {
 
     /**
      * Gets the client rect of the HTML canvas attached with the current webGL context
-     * @returns a client rectanglee
+     * @returns a client rectangle
      */
     public getRenderingCanvasClientRect(): Nullable<ClientRect> {
         if (!this._renderingCanvas) {
@@ -650,7 +650,7 @@ export class Engine extends ThinEngine {
 
     /**
      * Gets the client rect of the HTML element used for events
-     * @returns a client rectanglee
+     * @returns a client rectangle
      */
     public getInputElementClientRect(): Nullable<ClientRect> {
         if (!this._renderingCanvas) {
@@ -1462,7 +1462,7 @@ export class Engine extends ThinEngine {
     /**
      * @hidden
      * Rescales a texture
-     * @param source input texutre
+     * @param source input texture
      * @param destination destination texture
      * @param scene scene to use to render the resize
      * @param internalFormat format to use when resizing
@@ -1677,7 +1677,7 @@ export class Engine extends ThinEngine {
     }
 
     /**
-     * Creates a webGL buffer to use with instanciation
+     * Creates a webGL buffer to use with instantiation
      * @param capacity defines the size of the buffer
      * @returns the webGL buffer
      */
@@ -1697,7 +1697,7 @@ export class Engine extends ThinEngine {
     }
 
     /**
-     * Delete a webGL buffer used with instanciation
+     * Delete a webGL buffer used with instantiation
      * @param buffer defines the webGL buffer to delete
      */
     public deleteInstancesBuffer(buffer: WebGLBuffer): void {

+ 1 - 1
src/Engines/engineCapabilities.ts

@@ -24,7 +24,7 @@ export interface EngineCapabilities {
     maxVertexUniformVectors: number;
     /** Maximum number of uniforms per fragment shader */
     maxFragmentUniformVectors: number;
-    /** Defines if standard derivates (dx/dy) are supported */
+    /** Defines if standard derivatives (dx/dy) are supported */
     standardDerivatives: boolean;
     /** Defines if s3tc texture compression is supported */
     s3tc?: WEBGL_compressed_texture_s3tc;

+ 1 - 1
src/Engines/instancingAttributeInfo.ts

@@ -1,5 +1,5 @@
 /**
- * Interface for attribute information associated with buffer instanciation
+ * Interface for attribute information associated with buffer instantiation
  */
 export interface InstancingAttributeInfo {
     /**

+ 3 - 3
src/Engines/nativeEngine.ts

@@ -323,7 +323,7 @@ class NativePipelineContext implements IPipelineContext {
     }
 
     /**
-     * Sets an interger value on a uniform variable.
+     * Sets an integer value on a uniform variable.
      * @param uniformName Name of the variable.
      * @param value Value to be set.
      */
@@ -998,7 +998,7 @@ export class NativeEngine extends Engine {
      * @param fillMode defines the primitive to use
      * @param indexStart defines the starting index
      * @param indexCount defines the number of index to draw
-     * @param instancesCount defines the number of instances to draw (if instanciation is enabled)
+     * @param instancesCount defines the number of instances to draw (if instantiation is enabled)
      */
     public drawElementsType(fillMode: number, indexStart: number, indexCount: number, instancesCount?: number): void {
         // Apply states
@@ -1022,7 +1022,7 @@ export class NativeEngine extends Engine {
      * @param fillMode defines the primitive to use
      * @param verticesStart defines the index of first vertex to draw
      * @param verticesCount defines the count of vertices to draw
-     * @param instancesCount defines the number of instances to draw (if instanciation is enabled)
+     * @param instancesCount defines the number of instances to draw (if instantiation is enabled)
      */
     public drawArraysType(fillMode: number, verticesStart: number, verticesCount: number, instancesCount?: number): void {
         // Apply states

+ 1 - 1
src/Engines/nullEngine.ts

@@ -283,7 +283,7 @@ export class NullEngine extends Engine {
     }
 
     /**
-     * Activates an effect, mkaing it the current one (ie. the one used for rendering)
+     * Activates an effect, making it the current one (ie. the one used for rendering)
      * @param effect defines the effect to activate
      */
     public enableEffect(effect: Effect): void {

+ 14 - 14
src/Engines/thinEngine.ts

@@ -1134,7 +1134,7 @@ export class ThinEngine {
 
     /**
      * Gets an object containing information about the current webGL context
-     * @returns an object containing the vender, the renderer and the version of the current webGL context
+     * @returns an object containing the vendor, the renderer and the version of the current webGL context
      */
     public getGlInfo() {
         return {
@@ -1961,7 +1961,7 @@ export class ThinEngine {
     }
 
     /**
-     * Update the content of a webGL buffer used with instanciation and bind it to the webGL context
+     * Update the content of a webGL buffer used with instantiation and bind it to the webGL context
      * @param instancesBuffer defines the webGL buffer to update and bind
      * @param data defines the data to store in the buffer
      * @param offsetLocations defines the offsets or attributes information used to determine where data must be stored in the buffer
@@ -2079,7 +2079,7 @@ export class ThinEngine {
      * @param useTriangles defines if triangles must be used to draw (else wireframe will be used)
      * @param indexStart defines the starting index
      * @param indexCount defines the number of index to draw
-     * @param instancesCount defines the number of instances to draw (if instanciation is enabled)
+     * @param instancesCount defines the number of instances to draw (if instantiation is enabled)
      */
     public draw(useTriangles: boolean, indexStart: number, indexCount: number, instancesCount?: number): void {
         this.drawElementsType(useTriangles ? Constants.MATERIAL_TriangleFillMode : Constants.MATERIAL_WireFrameFillMode, indexStart, indexCount, instancesCount);
@@ -2089,7 +2089,7 @@ export class ThinEngine {
      * Draw a list of points
      * @param verticesStart defines the index of first vertex to draw
      * @param verticesCount defines the count of vertices to draw
-     * @param instancesCount defines the number of instances to draw (if instanciation is enabled)
+     * @param instancesCount defines the number of instances to draw (if instantiation is enabled)
      */
     public drawPointClouds(verticesStart: number, verticesCount: number, instancesCount?: number): void {
         this.drawArraysType(Constants.MATERIAL_PointFillMode, verticesStart, verticesCount, instancesCount);
@@ -2100,7 +2100,7 @@ export class ThinEngine {
      * @param useTriangles defines if triangles must be used to draw (else wireframe will be used)
      * @param verticesStart defines the index of first vertex to draw
      * @param verticesCount defines the count of vertices to draw
-     * @param instancesCount defines the number of instances to draw (if instanciation is enabled)
+     * @param instancesCount defines the number of instances to draw (if instantiation is enabled)
      */
     public drawUnIndexed(useTriangles: boolean, verticesStart: number, verticesCount: number, instancesCount?: number): void {
         this.drawArraysType(useTriangles ? Constants.MATERIAL_TriangleFillMode : Constants.MATERIAL_WireFrameFillMode, verticesStart, verticesCount, instancesCount);
@@ -2111,7 +2111,7 @@ export class ThinEngine {
      * @param fillMode defines the primitive to use
      * @param indexStart defines the starting index
      * @param indexCount defines the number of index to draw
-     * @param instancesCount defines the number of instances to draw (if instanciation is enabled)
+     * @param instancesCount defines the number of instances to draw (if instantiation is enabled)
      */
     public drawElementsType(fillMode: number, indexStart: number, indexCount: number, instancesCount?: number): void {
         // Apply states
@@ -2136,7 +2136,7 @@ export class ThinEngine {
      * @param fillMode defines the primitive to use
      * @param verticesStart defines the index of first vertex to draw
      * @param verticesCount defines the count of vertices to draw
-     * @param instancesCount defines the number of instances to draw (if instanciation is enabled)
+     * @param instancesCount defines the number of instances to draw (if instantiation is enabled)
      */
     public drawArraysType(fillMode: number, verticesStart: number, verticesCount: number, instancesCount?: number): void {
         // Apply states
@@ -2212,7 +2212,7 @@ export class ThinEngine {
      * @param uniformsNamesOrEngine defines either a list of uniform names or the engine to use
      * @param samplers defines an array of string used to represent textures
      * @param defines defines the string containing the defines to use to compile the shaders
-     * @param fallbacks defines the list of potential fallbacks to use if shader conmpilation fails
+     * @param fallbacks defines the list of potential fallbacks to use if shader compilation fails
      * @param onCompiled defines a function to call when the effect creation is successful
      * @param onError defines a function to call when the effect creation has failed
      * @param indexParameters defines an object containing the index values to use to compile shaders (like the maximum number of simultaneous lights)
@@ -2493,7 +2493,7 @@ export class ThinEngine {
     }
 
     /**
-     * Activates an effect, mkaing it the current one (ie. the one used for rendering)
+     * Activates an effect, making it the current one (ie. the one used for rendering)
      * @param effect defines the effect to activate
      */
     public enableEffect(effect: Nullable<Effect>): void {
@@ -2754,7 +2754,7 @@ export class ThinEngine {
      * Set the value of an uniform to a number (float)
      * @param uniform defines the webGL uniform location where to store the value
      * @param value defines the float number to store
-     * @returns true if the value was transfered
+     * @returns true if the value was transferred
      */
     public setFloat(uniform: Nullable<WebGLUniformLocation>, value: number): boolean {
         if (!uniform) {
@@ -3178,7 +3178,7 @@ export class ThinEngine {
             };
 
             if (!fromData || isBase64) {
-                if (buffer && ((<HTMLImageElement>buffer).decoding || (<ImageBitmap>buffer).close)) {
+                if (buffer && (typeof (<HTMLImageElement>buffer).decoding === "string" || (<ImageBitmap>buffer).close)) {
                     onload(<HTMLImageElement>buffer);
                 } else {
                     ThinEngine._FileToolsLoadImage(url, onload, onInternalError, scene ? scene.offlineProvider : null, mimeType);
@@ -4558,14 +4558,14 @@ export class ThinEngine {
     private static _HasMajorPerformanceCaveat : Nullable<boolean> = null;
 
     /**
-     * Gets a boolean indicating if the engine can be instanciated (ie. if a webGL context can be found)
+     * Gets a boolean indicating if the engine can be instantiated (ie. if a webGL context can be found)
      */
     public static get IsSupported(): boolean {
         return this.isSupported(); // Backward compat
     }
 
     /**
-     * Gets a boolean indicating if the engine can be instanciated (ie. if a webGL context can be found)
+     * Gets a boolean indicating if the engine can be instantiated (ie. if a webGL context can be found)
      * @returns true if the engine can be created
      * @ignorenaming
      */
@@ -4589,7 +4589,7 @@ export class ThinEngine {
     }
 
     /**
-     * Gets a boolean indicating if the engine can be instanciated on a performant device (ie. if a webGL context can be found and it does not use a slow implementation)
+     * Gets a boolean indicating if the engine can be instantiated on a performant device (ie. if a webGL context can be found and it does not use a slow implementation)
      */
     public static get HasMajorPerformanceCaveat(): boolean {
         if (this._HasMajorPerformanceCaveat === null) {

+ 11 - 11
src/Engines/webgpuEngine.ts

@@ -55,7 +55,7 @@ function assert(condition: any, msg?: string): asserts condition {
  */
 export interface GlslangOptions {
     /**
-     * Defines an existing instance of Glslang (usefull in modules who do not access the global instance).
+     * Defines an existing instance of Glslang (useful in modules who do not access the global instance).
      */
     glslang?: any;
     /**
@@ -119,17 +119,17 @@ export interface WebGPUEngineOptions extends GPURequestAdapterOptions {
     swapChainFormat?: GPUTextureFormat;
 
     /**
-     * Defines wether MSAA is enabled on the canvas.
+     * Defines whether MSAA is enabled on the canvas.
      */
     antialiasing?: boolean;
 
     /**
-     * Defines wether the stencil buffer should be enabled.
+     * Defines whether the stencil buffer should be enabled.
      */
     stencil?: boolean;
 
     /**
-     * Defines wether we should generate debug markers in the gpu command lists (can be seen with PIX for eg)
+     * Defines whether we should generate debug markers in the gpu command lists (can be seen with PIX for eg)
      */
     enableGPUDebugMarkers?: boolean;
 
@@ -259,7 +259,7 @@ export class WebGPUEngine extends Engine {
     }
 
     /**
-     * Gets a boolean indicating if the engine can be instanciated (ie. if a WebGPU context can be found)
+     * Gets a boolean indicating if the engine can be instantiated (ie. if a WebGPU context can be found)
      * @returns true if the engine can be created
      */
     public static get IsSupported(): boolean {
@@ -1144,7 +1144,7 @@ export class WebGPUEngine extends Engine {
      * @param uniformsNamesOrEngine defines either a list of uniform names or the engine to use
      * @param samplers defines an array of string used to represent textures
      * @param defines defines the string containing the defines to use to compile the shaders
-     * @param fallbacks defines the list of potential fallbacks to use if shader conmpilation fails
+     * @param fallbacks defines the list of potential fallbacks to use if shader compilation fails
      * @param onCompiled defines a function to call when the effect creation is successful
      * @param onError defines a function to call when the effect creation has failed
      * @param indexParameters defines an object containing the index values to use to compile shaders (like the maximum number of simultaneous lights)
@@ -2179,7 +2179,7 @@ export class WebGPUEngine extends Engine {
 
     /**
      * Update a raw cube texture
-     * @param texture defines the texture to udpdate
+     * @param texture defines the texture to update
      * @param bufferView defines the data to store
      * @param format defines the data format
      * @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)
@@ -2657,7 +2657,7 @@ export class WebGPUEngine extends Engine {
         samples = Math.min(samples, this.getCaps().maxMSAASamples);
 
         // Note that the last texture of textures is the depth texture (if the depth texture has been generated by the MRT class) and so the MSAA texture
-        // will be recreated for this texture too. As a consequence, there's no need to explicitely recreate the MSAA texture for textures[0]._depthStencilTexture
+        // will be recreated for this texture too. As a consequence, there's no need to explicitly recreate the MSAA texture for textures[0]._depthStencilTexture
         for (let i = 0; i < textures.length; ++i) {
             const texture = textures[i];
             this._textureHelper.createMSAATexture(texture, samples);
@@ -3141,7 +3141,7 @@ export class WebGPUEngine extends Engine {
      */
     public unBindFramebuffer(texture: InternalTexture, disableGenerateMipMaps = false, onBeforeUnbind?: () => void): void {
         // TODO WEBGPU remove the assert debugging code
-        assert(this._currentRenderTarget === null || (this._currentRenderTarget !== null && texture === this._currentRenderTarget), "unBindFramebuffer - the texture we wan't to unbind is not the same than the currentRenderTarget! texture=" + texture + ", this._currentRenderTarget=" + this._currentRenderTarget);
+        assert(this._currentRenderTarget === null || (this._currentRenderTarget !== null && texture === this._currentRenderTarget), "unBindFramebuffer - the texture we want to unbind is not the same than the currentRenderTarget! texture=" + texture + ", this._currentRenderTarget=" + this._currentRenderTarget);
 
         if (onBeforeUnbind) {
             onBeforeUnbind();
@@ -3661,7 +3661,7 @@ export class WebGPUEngine extends Engine {
      * @param fillMode defines the primitive to use
      * @param indexStart defines the starting index
      * @param indexCount defines the number of index to draw
-     * @param instancesCount defines the number of instances to draw (if instanciation is enabled)
+     * @param instancesCount defines the number of instances to draw (if instantiation is enabled)
      */
     public drawElementsType(fillMode: number, indexStart: number, indexCount: number, instancesCount: number = 1): void {
         const renderPass = this._bundleEncoder || this._getCurrentRenderPass();
@@ -3677,7 +3677,7 @@ export class WebGPUEngine extends Engine {
      * @param fillMode defines the primitive to use
      * @param verticesStart defines the index of first vertex to draw
      * @param verticesCount defines the count of vertices to draw
-     * @param instancesCount defines the number of instances to draw (if instanciation is enabled)
+     * @param instancesCount defines the number of instances to draw (if instantiation is enabled)
      */
     public drawArraysType(fillMode: number, verticesStart: number, verticesCount: number, instancesCount: number = 1): void {
         const renderPass = this._bundleEncoder || this._getCurrentRenderPass();

+ 1 - 1
src/Gizmos/axisDragGizmo.ts

@@ -132,7 +132,7 @@ export class AxisDragGizmo extends Gizmo {
                         (this.attachedNode as any).position.addInPlaceFromFloats(event.delta.x, event.delta.y, event.delta.z);
                     }
 
-                    // use _worldMatrix to not force a matrix update when calling GetWorldMatrix especialy with Cameras
+                    // use _worldMatrix to not force a matrix update when calling GetWorldMatrix especially with Cameras
                     this.attachedNode.getWorldMatrix().addTranslationFromFloats(event.delta.x, event.delta.y, event.delta.z);
                     this.attachedNode.updateCache();
                 } else {

+ 1 - 1
src/Gizmos/axisScaleGizmo.ts

@@ -85,7 +85,7 @@ export class AxisScaleGizmo extends Gizmo {
         this._rootMesh.addChild(this._gizmoMesh);
         this._gizmoMesh.scaling.scaleInPlace(1 / 3);
 
-        // Closure of inital prop values for resetting
+        // Closure of initial prop values for resetting
         const nodePosition = arrowMesh.position.clone();
         const linePosition = arrowTail.position.clone();
         const lineScale = arrowTail.scaling.clone();

+ 6 - 6
src/Gizmos/boundingBoxGizmo.ts

@@ -36,7 +36,7 @@ export class BoundingBoxGizmo extends Gizmo {
     private _tmpVector = new Vector3(0, 0, 0);
     private _tmpRotationMatrix = new Matrix();
     /**
-     * If child meshes should be ignored when calculating the boudning box. This should be set to true to avoid perf hits with heavily nested meshes (Default: false)
+     * If child meshes should be ignored when calculating the bounding box. This should be set to true to avoid perf hits with heavily nested meshes (Default: false)
      */
     public ignoreChildren = false;
     /**
@@ -355,7 +355,7 @@ export class BoundingBoxGizmo extends Gizmo {
 
         // Update bounding box positions
         this._renderObserver = this.gizmoLayer.originalScene.onBeforeRenderObservable.add(() => {
-            // Only update the bouding box if scaling has changed
+            // Only update the bounding box if scaling has changed
             if (this.attachedMesh && !this._existingMeshScale.equals(this.attachedMesh.scaling)) {
                 this.updateBoundingBox();
             } else if (this.fixedDragMeshScreenSize || this.fixedDragMeshBoundsSize) {
@@ -363,7 +363,7 @@ export class BoundingBoxGizmo extends Gizmo {
                 this._updateScaleBoxes();
             }
 
-            // If dragg mesh is enabled and dragging, update the attached mesh pose to match the drag mesh
+            // If drag mesh is enabled and dragging, update the attached mesh pose to match the drag mesh
             if (this._dragMesh && this.attachedMesh && this.pointerDragBehavior.dragging) {
                 this._lineBoundingBox.position.rotateByQuaternionToRef(this._rootMesh.rotationQuaternion!, this._tmpVector);
                 this.attachedMesh.setAbsolutePosition(this._dragMesh.position.add(this._tmpVector.scale(-1)));
@@ -412,7 +412,7 @@ export class BoundingBoxGizmo extends Gizmo {
             var originalParent = this.attachedMesh.parent;
             this.attachedMesh.setParent(null);
 
-            // Store original skelton override mesh
+            // Store original skeleton override mesh
             var originalSkeletonOverrideMesh = null;
             if (this.attachedMesh.skeleton) {
                 originalSkeletonOverrideMesh = this.attachedMesh.skeleton.overrideMesh;
@@ -560,7 +560,7 @@ export class BoundingBoxGizmo extends Gizmo {
     public setEnabledScaling(enable: boolean, homogeneousScaling = false) {
         this._scaleBoxesParent.getChildMeshes().forEach((m, i) => {
             let enableMesh = enable;
-            // Disable heterogenous scale handles if requested.
+            // Disable heterogeneous scale handles if requested.
             if (homogeneousScaling && m.metadata === true) {
                 enableMesh = false;
             }
@@ -616,7 +616,7 @@ export class BoundingBoxGizmo extends Gizmo {
         };
         makeNotPickable(mesh);
 
-        // Reset position to get boudning box from origin with no rotation
+        // Reset position to get bounding box from origin with no rotation
         if (!mesh.rotationQuaternion) {
             mesh.rotationQuaternion = Quaternion.RotationYawPitchRoll(mesh.rotation.y, mesh.rotation.x, mesh.rotation.z);
         }

+ 4 - 4
src/Gizmos/gizmo.ts

@@ -19,15 +19,15 @@ import { LinesMesh } from '../Meshes/linesMesh';
  * Cache built by each axis. Used for managing state between all elements of gizmo for enhanced UI
  */
 export interface GizmoAxisCache {
-    /** Mesh used to runder the Gizmo */
+    /** Mesh used to render the Gizmo */
     gizmoMeshes: Mesh[];
     /** Mesh used to detect user interaction with Gizmo */
     colliderMeshes: Mesh[];
-    /** Material used to inicate color of gizmo mesh */
+    /** Material used to indicate color of gizmo mesh */
     material: StandardMaterial;
-    /** Material used to inicate hover state of the Gizmo */
+    /** Material used to indicate hover state of the Gizmo */
     hoverMaterial: StandardMaterial;
-    /** Material used to inicate disabled state of the Gizmo */
+    /** Material used to indicate disabled state of the Gizmo */
     disableMaterial: StandardMaterial;
     /** Used to indicate Active state of the Gizmo */
     active: boolean;

+ 3 - 3
src/Gizmos/gizmoManager.ts

@@ -89,7 +89,7 @@ export class GizmoManager implements IDisposable {
     }
 
     /**
-     * Instatiates a gizmo manager
+     * Instantiates a gizmo manager
      * @param scene the scene to overlay the gizmos on top of
      * @param thickness display gizmo axis thickness
      * @param utilityLayer the layer where gizmos are rendered
@@ -109,10 +109,10 @@ export class GizmoManager implements IDisposable {
 
     /**
      * Subscribes to pointer down events, for attaching and detaching mesh
-     * @param scene The sceme layer the observer will be added to
+     * @param scene The scene layer the observer will be added to
      */
     private _attachToMeshPointerObserver(scene: Scene): Observer<PointerInfo> {
-        // Instatiate/dispose gizmos based on pointer actions
+        // Instantiate/dispose gizmos based on pointer actions
         const pointerObserver = scene.onPointerObservable.add((pointerInfo) => {
             if (!this.usePointerToAttachGizmos) {
                 return;

+ 1 - 1
src/Helpers/environmentHelper.ts

@@ -185,7 +185,7 @@ interface ISceneSize {
 }
 
 /**
- * The Environment helper class can be used to add a fully featuread none expensive background to your scene.
+ * The Environment helper class can be used to add a fully featured none expensive background to your scene.
  * It includes by default a skybox and a ground relying on the BackgroundMaterial.
  * It also helps with the default setup of your imageProcessing configuration.
  */

+ 3 - 3
src/Layers/effectLayer.ts

@@ -63,7 +63,7 @@ export interface IEffectLayerOptions {
 /**
  * The effect layer Helps adding post process effect blended with the main pass.
  *
- * This can be for instance use to generate glow or higlight effects on the scene.
+ * This can be for instance use to generate glow or highlight effects on the scene.
  *
  * The effect layer class can not be used directly and is intented to inherited from to be
  * customized per effects.
@@ -161,7 +161,7 @@ export abstract class EffectLayer {
     public onAfterComposeObservable = new Observable<EffectLayer>();
 
     /**
-     * An event triggered when the efffect layer changes its size.
+     * An event triggered when the effect layer changes its size.
      */
     public onSizeChangedObservable = new Observable<EffectLayer>();
 
@@ -208,7 +208,7 @@ export abstract class EffectLayer {
     public abstract isReady(subMesh: SubMesh, useInstances: boolean): boolean;
 
     /**
-     * Returns whether or nood the layer needs stencil enabled during the mesh rendering.
+     * Returns whether or not the layer needs stencil enabled during the mesh rendering.
      * @returns true if the effect requires stencil during the main canvas render pass.
      */
     public abstract needStencil(): boolean;

+ 2 - 2
src/Layers/effectLayerSceneComponent.ts

@@ -64,7 +64,7 @@ AbstractScene.prototype.addEffectLayer = function(newEffectLayer: EffectLayer):
  */
 export class EffectLayerSceneComponent implements ISceneSerializableComponent {
     /**
-     * The component name helpfull to identify the component in the list of scene components.
+     * The component name helpful to identify the component in the list of scene components.
      */
     public readonly name = SceneComponentConstants.NAME_EFFECTLAYER;
 
@@ -162,7 +162,7 @@ export class EffectLayerSceneComponent implements ISceneSerializableComponent {
     }
 
     /**
-     * Disposes the component and the associated ressources.
+     * Disposes the component and the associated resources.
      */
     public dispose(): void {
         let layers = this.scene.effectLayers;

+ 4 - 4
src/Layers/glowLayer.ts

@@ -57,7 +57,7 @@ export interface IGlowLayerOptions {
     mainTextureRatio: number;
 
     /**
-     * Enforces a fixed size texture to ensure resize independant blur.
+     * Enforces a fixed size texture to ensure resize independent blur.
      */
     mainTextureFixedSize?: number;
 
@@ -72,7 +72,7 @@ export interface IGlowLayerOptions {
     camera: Nullable<Camera>;
 
     /**
-     * Enable MSAA by chosing the number of samples.
+     * Enable MSAA by choosing the number of samples.
      */
     mainTextureSamples?: number;
 
@@ -334,7 +334,7 @@ export class GlowLayer extends EffectLayer {
     /**
      * Checks for the readiness of the element composing the layer.
      * @param subMesh the mesh to check for
-     * @param useInstances specify wether or not to use instances to render the mesh
+     * @param useInstances specify whether or not to use instances to render the mesh
      * @param emissiveTexture the associated emissive texture used to generate the glow
      * @return true if ready otherwise, false
      */
@@ -351,7 +351,7 @@ export class GlowLayer extends EffectLayer {
     }
 
     /**
-     * Returns whether or nood the layer needs stencil enabled during the mesh rendering.
+     * Returns whether or not the layer needs stencil enabled during the mesh rendering.
      */
     public needStencil(): boolean {
         return false;

+ 2 - 2
src/Layers/highlightLayer.ts

@@ -76,7 +76,7 @@ export interface IHighlightLayerOptions {
     mainTextureRatio: number;
 
     /**
-     * Enforces a fixed size texture to ensure resize independant blur.
+     * Enforces a fixed size texture to ensure resize independent blur.
      */
     mainTextureFixedSize?: number;
 
@@ -415,7 +415,7 @@ export class HighlightLayer extends EffectLayer {
     }
 
     /**
-     * Returns wether or nood the layer needs stencil enabled during the mesh rendering.
+     * Returns whether or not the layer needs stencil enabled during the mesh rendering.
      */
     public needStencil(): boolean {
         return true;

+ 1 - 1
src/Layers/layer.ts

@@ -274,7 +274,7 @@ export class Layer {
     }
 
     /**
-     * Disposes and releases the associated ressources.
+     * Disposes and releases the associated resources.
      */
     public dispose(): void {
         var vertexBuffer = this._vertexBuffers[VertexBuffer.PositionKind];

+ 2 - 2
src/Layers/layerSceneComponent.ts

@@ -21,7 +21,7 @@ declare module "../abstractScene" {
  */
 export class LayerSceneComponent implements ISceneComponent {
     /**
-     * The component name helpfull to identify the component in the list of scene components.
+     * The component name helpful to identify the component in the list of scene components.
      */
     public readonly name = SceneComponentConstants.NAME_LAYER;
 
@@ -66,7 +66,7 @@ export class LayerSceneComponent implements ISceneComponent {
     }
 
     /**
-     * Disposes the component and the associated ressources.
+     * Disposes the component and the associated resources.
      */
     public dispose(): void {
         let layers = this.scene.layers;

+ 3 - 3
src/LensFlares/lensFlare.ts

@@ -5,7 +5,7 @@ import { LensFlareSystem } from "./lensFlareSystem";
 import { Constants } from "../Engines/constants";
 /**
  * This represents one of the lens effect in a `lensFlareSystem`.
- * It controls one of the indiviual texture used in the effect.
+ * It controls one of the individual texture used in the effect.
  * @see https://doc.babylonjs.com/how_to/how_to_use_lens_flares
  */
 export class LensFlare {
@@ -29,7 +29,7 @@ export class LensFlare {
     /**
      * Creates a new Lens Flare.
      * This represents one of the lens effect in a `lensFlareSystem`.
-     * It controls one of the indiviual texture used in the effect.
+     * It controls one of the individual texture used in the effect.
      * @see https://doc.babylonjs.com/how_to/how_to_use_lens_flares
      * @param size Define the size of the lens flare (a floating value between 0 and 1)
      * @param position Define the position of the lens flare in the system. (a floating value between -1 and 1). A value of 0 is located on the emitter. A value greater than 0 is beyond the emitter and a value lesser than 0 is behind.
@@ -45,7 +45,7 @@ export class LensFlare {
     /**
      * Instantiates a new Lens Flare.
      * This represents one of the lens effect in a `lensFlareSystem`.
-     * It controls one of the indiviual texture used in the effect.
+     * It controls one of the individual texture used in the effect.
      * @see https://doc.babylonjs.com/how_to/how_to_use_lens_flares
      * @param size Define the size of the lens flare in the system (a floating value between 0 and 1)
      * @param position Define the position of the lens flare in the system. (a floating value between -1 and 1). A value of 0 is located on the emitter. A value greater than 0 is beyond the emitter and a value lesser than 0 is behind.

+ 1 - 1
src/LensFlares/lensFlareSystem.ts

@@ -376,7 +376,7 @@ export class LensFlareSystem {
     }
 
     /**
-     * Parse a lens flare system from a JSON repressentation
+     * Parse a lens flare system from a JSON representation
      * @param parsedLensFlareSystem Define the JSON to parse
      * @param scene Define the scene the parsed system should be instantiated in
      * @param rootUrl Define the rootUrl of the load sequence to easily find a load relative dependencies such as textures

+ 2 - 2
src/LensFlares/lensFlareSystemSceneComponent.ts

@@ -97,7 +97,7 @@ AbstractScene.prototype.addLensFlareSystem = function(newLensFlareSystem: LensFl
  */
 export class LensFlareSystemSceneComponent implements ISceneSerializableComponent {
     /**
-     * The component name helpfull to identify the component in the list of scene components.
+     * The component name helpful to identify the component in the list of scene components.
      */
     public readonly name = SceneComponentConstants.NAME_LENSFLARESYSTEM;
 
@@ -175,7 +175,7 @@ export class LensFlareSystemSceneComponent implements ISceneSerializableComponen
     }
 
     /**
-     * Disposes the component and the associated ressources.
+     * Disposes the component and the associated resources.
      */
     public dispose(): void {
         let lensFlareSystems = this.scene.lensFlareSystems;

+ 1 - 1
src/LibDeclarations/browser.d.ts

@@ -28,7 +28,7 @@ interface HTMLCanvasElement {
     mozRequestPointerLock?(): void;
     webkitRequestPointerLock?(): void;
 
-    /** Track wether a record is in progress */
+    /** Track whether a record is in progress */
     isRecording: boolean;
     /** Capture Stream method defined by some browsers */
     captureStream(fps?: number): MediaStream;

+ 1 - 1
src/LibDeclarations/webvr.d.ts

@@ -102,7 +102,7 @@ interface VRDisplay extends EventTarget {
      * identically to how window.requestAnimationFrame acts. Content should
      * make no assumptions of frame rate or vsync behavior as the HMD runs
      * asynchronously from other displays and at differing refresh rates.
-     * @param callback Define the eaction to run next frame
+     * @param callback Define the action to run next frame
      * @returns the request handle it
      */
     requestAnimationFrame(callback: FrameRequestCallback): number;

+ 18 - 18
src/Lights/Shadows/shadowGenerator.ts

@@ -47,7 +47,7 @@ export interface ICustomShaderOptions {
     attributes?: string[];
 
     /**
-     * The list of unifrom names used in the shader
+     * The list of uniform names used in the shader
      */
     uniforms?: string[];
 
@@ -75,9 +75,9 @@ export interface IShadowGenerator {
     getShadowMap(): Nullable<RenderTargetTexture>;
 
     /**
-     * Determine wheter the shadow generator is ready or not (mainly all effects and related post processes needs to be ready).
+     * Determine whether the shadow generator is ready or not (mainly all effects and related post processes needs to be ready).
      * @param subMesh The submesh we want to render in the shadow map
-     * @param useInstances Defines wether will draw in the map using instances
+     * @param useInstances Defines whether will draw in the map using instances
      * @param isTransparent Indicates that isReady is called for a transparent subMesh
      * @returns true if ready otherwise, false
      */
@@ -92,14 +92,14 @@ export interface IShadowGenerator {
     /**
      * Binds the shadow related information inside of an effect (information like near, far, darkness...
      * defined in the generator but impacting the effect).
-     * It implies the unifroms available on the materials are the standard BJS ones.
+     * It implies the uniforms available on the materials are the standard BJS ones.
      * @param lightIndex Index of the light in the enabled light list of the material owning the effect
-     * @param effect The effect we are binfing the information for
+     * @param effect The effect we are binding the information for
      */
     bindShadowLight(lightIndex: string, effect: Effect): void;
     /**
      * Gets the transformation matrix used to project the meshes into the map from the light point of view.
-     * (eq to shadow prjection matrix * light transform matrix)
+     * (eq to shadow projection matrix * light transform matrix)
      * @returns The transform matrix used to create the shadow map
      */
     getTransformMatrix(): Matrix;
@@ -111,14 +111,14 @@ export interface IShadowGenerator {
     recreateShadowMap(): void;
 
     /**
-     * Forces all the attached effect to compile to enable rendering only once ready vs. lazyly compiling effects.
+     * Forces all the attached effect to compile to enable rendering only once ready vs. lazily compiling effects.
      * @param onCompiled Callback triggered at the and of the effects compilation
      * @param options Sets of optional options forcing the compilation with different modes
      */
     forceCompilation(onCompiled?: (generator: IShadowGenerator) => void, options?: Partial<{ useInstances: boolean }>): void;
 
     /**
-     * Forces all the attached effect to compile to enable rendering only once ready vs. lazyly compiling effects.
+     * Forces all the attached effect to compile to enable rendering only once ready vs. lazily compiling effects.
      * @param options Sets of optional options forcing the compilation with different modes
      * @returns A promise that resolves when the compilation completes
      */
@@ -269,13 +269,13 @@ export class ShadowGenerator implements IShadowGenerator {
 
     protected _normalBias = 0;
     /**
-     * Gets the normalBias: offset applied on the depth preventing acnea (along side the normal direction and proportinal to the light/normal angle).
+     * Gets the normalBias: offset applied on the depth preventing acnea (along side the normal direction and proportional to the light/normal angle).
      */
     public get normalBias(): number {
         return this._normalBias;
     }
     /**
-     * Sets the normalBias: offset applied on the depth preventing acnea (along side the normal direction and proportinal to the light/normal angle).
+     * Sets the normalBias: offset applied on the depth preventing acnea (along side the normal direction and proportional to the light/normal angle).
      */
     public set normalBias(normalBias: number) {
         this._normalBias = normalBias;
@@ -908,7 +908,7 @@ export class ShadowGenerator implements IShadowGenerator {
         // Custom render function.
         this._shadowMap.customRenderFunction = this._renderForShadowMap.bind(this);
 
-        // Force the mesh is ready funcion to true as we are double checking it
+        // Force the mesh is ready function to true as we are double checking it
         // in the custom render function. Also it prevents side effects and useless
         // shader variations in DEPTHPREPASS mode.
         this._shadowMap.customIsReadyFunction = (m: AbstractMesh, r: number) => {
@@ -931,7 +931,7 @@ export class ShadowGenerator implements IShadowGenerator {
             this._scene.setTransformMatrix(this._viewMatrix, this._projectionMatrix);
         });
 
-        // Blur if required afer render.
+        // Blur if required after render.
         this._shadowMap.onAfterUnbindObservable.add(() => {
             this._scene.updateTransformMatrix(); // restore the view/projection matrices of the active camera
 
@@ -1222,7 +1222,7 @@ export class ShadowGenerator implements IShadowGenerator {
     }
 
     /**
-     * Forces all the attached effect to compile to enable rendering only once ready vs. lazyly compiling effects.
+     * Forces all the attached effect to compile to enable rendering only once ready vs. lazily compiling effects.
      * @param onCompiled Callback triggered at the and of the effects compilation
      * @param options Sets of optional options forcing the compilation with different modes
      */
@@ -1282,7 +1282,7 @@ export class ShadowGenerator implements IShadowGenerator {
     }
 
     /**
-     * Forces all the attached effect to compile to enable rendering only once ready vs. lazyly compiling effects.
+     * Forces all the attached effect to compile to enable rendering only once ready vs. lazily compiling effects.
      * @param options Sets of optional options forcing the compilation with different modes
      * @returns A promise that resolves when the compilation completes
      */
@@ -1322,9 +1322,9 @@ export class ShadowGenerator implements IShadowGenerator {
     }
 
     /**
-     * Determine wheter the shadow generator is ready or not (mainly all effects and related post processes needs to be ready).
+     * Determine whether the shadow generator is ready or not (mainly all effects and related post processes needs to be ready).
      * @param subMesh The submesh we want to render in the shadow map
-     * @param useInstances Defines wether will draw in the map using instances
+     * @param useInstances Defines whether will draw in the map using instances
      * @param isTransparent Indicates that isReady is called for a transparent subMesh
      * @returns true if ready otherwise, false
      */
@@ -1593,7 +1593,7 @@ export class ShadowGenerator implements IShadowGenerator {
      * Binds the shadow related information inside of an effect (information like near, far, darkness...
      * defined in the generator but impacting the effect).
      * @param lightIndex Index of the light in the enabled light list of the material owning the effect
-     * @param effect The effect we are binfing the information for
+     * @param effect The effect we are binding the information for
      */
     public bindShadowLight(lightIndex: string, effect: Effect): void {
         const light = this._light;
@@ -1638,7 +1638,7 @@ export class ShadowGenerator implements IShadowGenerator {
 
     /**
      * Gets the transformation matrix used to project the meshes into the map from the light point of view.
-     * (eq to shadow prjection matrix * light transform matrix)
+     * (eq to shadow projection matrix * light transform matrix)
      * @returns The transform matrix used to create the shadow map
      */
     public getTransformMatrix(): Matrix {

+ 1 - 1
src/Lights/Shadows/shadowGeneratorSceneComponent.ts

@@ -27,7 +27,7 @@ AbstractScene.AddParser(SceneComponentConstants.NAME_SHADOWGENERATOR, (parsedDat
  */
 export class ShadowGeneratorSceneComponent implements ISceneSerializableComponent {
     /**
-     * The component name helpfull to identify the component in the list of scene components.
+     * The component name helpful to identify the component in the list of scene components.
      */
     public readonly name = SceneComponentConstants.NAME_SHADOWGENERATOR;
 

+ 8 - 8
src/Lights/light.ts

@@ -117,7 +117,7 @@ export abstract class Light extends Node {
     public specular = new Color3(1.0, 1.0, 1.0);
 
     /**
-     * Defines the falloff type for this light. This lets overrriding how punctual light are
+     * Defines the falloff type for this light. This lets overriding how punctual light are
      * falling off base on range or angle.
      * This can be set to any values in Light.FALLOFF_x.
      *
@@ -207,14 +207,14 @@ export abstract class Light extends Node {
     @serialize("shadowEnabled")
     private _shadowEnabled: boolean = true;
     /**
-     * Gets wether or not the shadows are enabled for this light. This can help turning off/on shadow without detaching
+     * Gets whether or not the shadows are enabled for this light. This can help turning off/on shadow without detaching
      * the current shadow generator.
      */
     public get shadowEnabled(): boolean {
         return this._shadowEnabled;
     }
     /**
-     * Sets wether or not the shadows are enabled for this light. This can help turning off/on shadow without detaching
+     * Sets whether or not the shadows are enabled for this light. This can help turning off/on shadow without detaching
      * the current shadow generator.
      */
     public set shadowEnabled(value: boolean) {
@@ -313,7 +313,7 @@ export abstract class Light extends Node {
     }
 
     /**
-     * Shadow generator associted to the light.
+     * Shadow generator associated to the light.
      * @hidden Internal use only.
      */
     public _shadowGenerator: Nullable<IShadowGenerator>;
@@ -329,7 +329,7 @@ export abstract class Light extends Node {
     public _includedOnlyMeshesIds = new Array<string>();
 
     /**
-     * The current light unifom buffer.
+     * The current light uniform buffer.
      * @hidden Internal use only.
      */
     public _uniformBuffer: UniformBuffer;
@@ -339,7 +339,7 @@ export abstract class Light extends Node {
     /**
      * Creates a Light object in the scene.
      * Documentation : https://doc.babylonjs.com/babylon101/lights
-     * @param name The firendly name of the light
+     * @param name The friendly name of the light
      * @param scene The scene the light belongs too
      */
     constructor(name: string, scene: Scene) {
@@ -534,7 +534,7 @@ export abstract class Light extends Node {
      */
     public static CompareLightsPriority(a: Light, b: Light): number {
         //shadow-casting lights have priority over non-shadow-casting lights
-        //the renderPrioirty is a secondary sort criterion
+        //the renderPriority is a secondary sort criterion
         if (a.shadowEnabled !== b.shadowEnabled) {
             return (b.shadowEnabled ? 1 : 0) - (a.shadowEnabled ? 1 : 0);
         }
@@ -845,7 +845,7 @@ export abstract class Light extends Node {
                 break;
 
             case Light.LIGHTTYPEID_HEMISPHERICLIGHT:
-                // No fall off in hemisperic light.
+                // No fall off in hemispheric light.
                 photometricScale = 1.0;
                 break;
         }

+ 1 - 1
src/Lights/pointLight.ts

@@ -95,7 +95,7 @@ export class PointLight extends ShadowLight {
     }
 
     /**
-     * Specifies wether or not the shadowmap should be a cube texture.
+     * Specifies whether or not the shadowmap should be a cube texture.
      * @returns true if the shadowmap needs to be a cube texture.
      */
     public needCube(): boolean {

+ 6 - 6
src/Lights/shadowLight.ts

@@ -7,16 +7,16 @@ import { Light } from "./light";
 import { Axis } from '../Maths/math.axis';
 /**
  * Interface describing all the common properties and methods a shadow light needs to implement.
- * This helps both the shadow generator and materials to genrate the corresponding shadow maps
+ * This helps both the shadow generator and materials to generate the corresponding shadow maps
  * as well as binding the different shadow properties to the effects.
  */
 export interface IShadowLight extends Light {
     /**
-     * The light id in the scene (used in scene.findLighById for instance)
+     * The light id in the scene (used in scene.findLightById for instance)
      */
     id: string;
     /**
-     * The position the shdow will be casted from.
+     * The position the shadow will be casted from.
      */
     position: Vector3;
     /**
@@ -64,7 +64,7 @@ export interface IShadowLight extends Light {
 
     /**
      * Sets the shadow projection matrix in parameter to the generated projection matrix.
-     * @param matrix The materix to updated with the projection information
+     * @param matrix The matrix to updated with the projection information
      * @param viewMatrix The transform matrix of the light
      * @param renderList The list of mesh to render in the map
      * @returns The current light
@@ -118,7 +118,7 @@ export interface IShadowLight extends Light {
 
 /**
  * Base implementation IShadowLight
- * It groups all the common behaviour in order to reduce dupplication and better follow the DRY pattern.
+ * It groups all the common behaviour in order to reduce duplication and better follow the DRY pattern.
  */
 export abstract class ShadowLight extends Light implements IShadowLight {
 
@@ -374,7 +374,7 @@ export abstract class ShadowLight extends Light implements IShadowLight {
 
     /**
      * Sets the shadow projection matrix in parameter to the generated projection matrix.
-     * @param matrix The materix to updated with the projection information
+     * @param matrix The matrix to updated with the projection information
      * @param viewMatrix The transform matrix of the light
      * @param renderList The list of mesh to render in the map
      * @returns The current light

+ 2 - 2
src/Lights/spotLight.ts

@@ -104,7 +104,7 @@ export class SpotLight extends ShadowLight {
 
     private _projectionTextureMatrix = Matrix.Zero();
     /**
-    * Allows reading the projecton texture
+    * Allows reading the projection texture
     */
     public get projectionTextureMatrix(): Matrix {
         return this._projectionTextureMatrix;
@@ -368,7 +368,7 @@ export class SpotLight extends ShadowLight {
     }
 
     /**
-     * Sets the passed Effect object with the SpotLight transfomed position (or position if not parented) and normalized direction.
+     * Sets the passed Effect object with the SpotLight transformed position (or position if not parented) and normalized direction.
      * @param effect The effect to update
      * @param lightIndex The index of the light in the effect to update
      * @returns The spot light

+ 1 - 1
src/Loading/Plugins/babylonFileLoader.ts

@@ -39,7 +39,7 @@ export var _BabylonLoaderRegistered = true;
  */
 export class BabylonFileLoaderConfiguration {
     /**
-     * The loader does not allow injecting custom physix engine into the plugins.
+     * The loader does not allow injecting custom physics engine into the plugins.
      * Unfortunately in ES6, we need to manually inject them into the plugin.
      * So you could set this variable to your engine import to make it work.
      */

+ 1 - 1
src/Loading/sceneLoader.ts

@@ -351,7 +351,7 @@ export class SceneLoader {
     public static readonly SUMMARY_LOGGING = Constants.SCENELOADER_SUMMARY_LOGGING;
 
     /**
-     * Detailled logging while loading
+     * Detailed logging while loading
      */
     public static readonly DETAILED_LOGGING = Constants.SCENELOADER_DETAILED_LOGGING;
 

+ 0 - 0
src/Materials/Background/backgroundMaterial.ts


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác