@babylonjs-toolkit/next 9.1.0 → 9.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,15 +1,10 @@
1
1
  # ESNext Edition
2
2
  The <a href="https://www.babylontoolkit.com">Babylon Toolkit</a> is a runtime library extension for BabylonJS development that provides modern programming mechanics with a familiar Unity like scripting model to fast track native web game development.
3
3
 
4
- <a href="https://www.npmjs.com/package/babylonjs-toolkit">Classic Edition (UMD)</a>
5
- <br/>
6
- <a href="https://github.com/BabylonJS/BabylonToolkit/tree/master/Runtime">Browser Library (CDN)</a>
7
- <br/>
8
4
  <a href="https://github.com/MackeyK24/ES6-StarterAssets">Demo React Project (TSX)</a>
9
5
  <br/>
10
6
  <a href="https://github.com/MackeyK24/NJS-StarterAssets">Next.js React Project (TSX)</a>
11
7
 
12
-
13
8
  ## Basic Installation
14
9
  ```bash
15
10
  npm install @babylonjs-toolkit/next
@@ -34,7 +34,7 @@ import { Sound } from '@babylonjs/core/Audio/sound';
34
34
  import { Skeleton } from '@babylonjs/core/Bones/skeleton';
35
35
  import { Control } from '@babylonjs/gui/2D/controls/control';
36
36
  import { Effect } from '@babylonjs/core/Materials/effect';
37
- import { PhysicsBody, IPhysicsEnabledObject, PhysicsShape, PhysicsShapeCapsule, PhysicsRaycastResult, PhysicsMotionType, IRaycastQuery, ShapeCastResult, PhysicsShapeSphere, PhysicsShapeMesh, PhysicsShapeConvexHull, PhysicsShapeBox, PhysicsShapeCylinder } from '@babylonjs/core/Physics';
37
+ import { PhysicsBody, IPhysicsEnabledObject, PhysicsShape, PhysicsShapeCapsule, PhysicsRaycastResult, PhysicsMotionType, IRaycastQuery, ShapeCastResult, PhysicsShapeMesh, PhysicsShapeConvexHull, PhysicsShapeBox, PhysicsShapeSphere, PhysicsShapeCylinder } from '@babylonjs/core/Physics';
38
38
  import { HavokPlugin } from '@babylonjs/core/Physics/v2/Plugins/havokPlugin';
39
39
  import { GLTFLoader } from '@babylonjs/loaders/glTF/2.0/glTFLoader';
40
40
  import { IScene, INode, IMaterial, IAnimation, IMesh } from '@babylonjs/loaders/glTF/2.0/glTFLoaderInterfaces';
@@ -121,8 +121,18 @@ export declare class SceneManager {
121
121
  static get EventBus(): GlobalMessageBus;
122
122
  static get PlaygroundCdn(): string;
123
123
  static get PlaygroundRepo(): string;
124
- static InitializePlayground(engine: Engine | WebGPUEngine | AbstractEngine, options?: IRuntimeOptions): Promise<void>;
125
- static InitializeRuntime(engine: Engine | WebGPUEngine | AbstractEngine, options?: IRuntimeOptions): Promise<void>;
124
+ static InitializePlayground(engine: Engine | WebGPUEngine | AbstractEngine, options?: IRuntimeOptions, scene?: Scene, inputOptions?: {
125
+ contextMenu?: boolean;
126
+ pointerLock?: boolean;
127
+ preventDefault?: boolean;
128
+ useCapture?: boolean;
129
+ }): Promise<void>;
130
+ static InitializeRuntime(engine: Engine | WebGPUEngine | AbstractEngine, options?: IRuntimeOptions, scene?: Scene, inputOptions?: {
131
+ contextMenu?: boolean;
132
+ pointerLock?: boolean;
133
+ preventDefault?: boolean;
134
+ useCapture?: boolean;
135
+ }): Promise<void>;
126
136
  static InitializeSceneLoaderPlugin(): void;
127
137
  static LoadRuntimeAssets(assetsManager: AssetsManager, requiredFilenames: string[], readyHandler: () => void, maxTimeout?: number, debugMode?: boolean): Promise<void>;
128
138
  static ShowLoadingScreen(engine: Engine | WebGPUEngine | AbstractEngine, hideLoadingUIWithEngine?: boolean, defaultLoadingUIMarginTop?: string): void;
@@ -134,9 +144,6 @@ export declare class SceneManager {
134
144
  private static SceneLoaderPropertyBag;
135
145
  private static SceneLoaderHandledFlag;
136
146
  static SetOnSceneReadyHandler(filenames: string[], handler: () => void, timeout?: number, debug?: boolean): void;
137
- static NavigateTo(scene: Scene, route: string, options?: any, useWindowLocation?: boolean): void;
138
- static SetReactNavigationHook(scene: Scene, navigateToFunction: any): void;
139
- static DeleteReactNavigationHook(scene: Scene): void;
140
147
  private static SceneParsingEnabled;
141
148
  static EnableSceneParsing(enabled: boolean): void;
142
149
  static IsSceneParsingEnabled(): boolean;
@@ -434,6 +441,11 @@ export declare abstract class ScriptComponent {
434
441
  private static ParseAutoProperties;
435
442
  private static UnpackObjectProperty;
436
443
  }
444
+ export declare abstract class GameModeController extends ScriptComponent {
445
+ constructor(transform: TransformNode, scene: Scene, properties?: any, alias?: string);
446
+ protected onSceneReadyHandled: boolean;
447
+ protected initSceneReady(props: any): Promise<void>;
448
+ }
437
449
  export declare enum System {
438
450
  Deg2Rad,
439
451
  Rad2Deg,
@@ -620,6 +632,7 @@ export declare class UserInputOptions {
620
632
  static EnableBabylonRotation: boolean;
621
633
  }
622
634
  export interface IRuntimeOptions {
635
+ enableUserInput?: boolean;
623
636
  hardwareScalingLevel?: number;
624
637
  initSceneFileLoaders?: boolean;
625
638
  loadAsyncRuntimeLibs?: boolean;
@@ -2816,44 +2829,6 @@ export declare class btRaycastVehicle {
2816
2829
  isArcadeHandBrakeActive: boolean;
2817
2830
  isArcadeWheelSkidActive: boolean;
2818
2831
  isArcadeYawAssistActive: boolean;
2819
- arcadeYawAssistDebugLogEnabled: boolean;
2820
- arcadeYawAssistDebugLogIntervalFrames: number;
2821
- arcadeYawAssistDebugLogEdgeEvents: boolean;
2822
- arcadeHandbrakeKickStrengthDegPerSec: number;
2823
- arcadeHandbrakeKickFrames: number;
2824
- arcadeHandbrakeYawAuthority: number;
2825
- arcadeHandbrakeMaxYawRateDegPerSec: number;
2826
- arcadeHandbrakeReferenceSpeedKmh: number;
2827
- arcadeHandbrakeSpeedGateEnabled: boolean;
2828
- arcadeHandbrakeLowSpeedShape: number;
2829
- arcadeHandbrakeDirectYawEnabled: boolean;
2830
- arcadeHandbrakeDirectYawDegPerSec: number;
2831
- arcadeHandbrakeDirectYawDurationMs: number;
2832
- arcadeHandbrakeDirectYawFadeMs: number;
2833
- arcadeDonutDirectYawEnabled: boolean;
2834
- arcadeDonutDirectYawDegPerSec: number;
2835
- arcadeDonutDirectYawDurationMs: number;
2836
- arcadeDonutDirectYawFadeMs: number;
2837
- arcadeHandbrakeMaxSlideAngleDeg: number;
2838
- arcadeHandbrakeCounterSteerClampEnabled: boolean;
2839
- arcadeHandbrakeCounterSteerYawThresholdDegPerSec: number;
2840
- arcadeHandbrakeClampReleaseFadeMs: number;
2841
- arcadeHandbrakeSteerSlewLimitEnabled: boolean;
2842
- arcadeHandbrakeSteerSlewLimitDegPerSec: number;
2843
- private _wasArcadeHandBrakeActive;
2844
- private _wasArcadeYawAssistApplyingForce;
2845
- private _handbrakeKickJzRemaining;
2846
- private _handbrakeKickFramesRemaining;
2847
- private _arcadeHandbrakeLatchedDriveSign;
2848
- private _arcadeHandbrakeHoldElapsedSec;
2849
- private _arcadeHandbrakeSlewedSteerRad;
2850
- private _arcadeHandbrakeClampReleaseFadeSec;
2851
- private _arcadeDonutHoldElapsedSec;
2852
- private _arcadeYawAssistDebugFrameCounter;
2853
- private _arcadeYawAssistLastKickRad;
2854
- private _arcadeYawAssistLastIaddPerWheel;
2855
- private _arcadeYawAssistLastClampScalar;
2856
- private _arcadeYawAssistLastLeverSum;
2857
2832
  burnoutFrictionFloor: number;
2858
2833
  frictionRestoreSpeed: number;
2859
2834
  arcadeBurnoutWheelSpinGain: number;
@@ -2866,16 +2841,20 @@ export declare class btRaycastVehicle {
2866
2841
  arcadeWheelSpinMaxAngularVelocity: number;
2867
2842
  arcadeStationaryBurnoutWheelSpinGain: number;
2868
2843
  arcadeStationaryBurnoutMinAngularVelocity: number;
2844
+ arcadeHandbrakeYawCapMultiplier: number;
2845
+ arcadeBurnoutYawCapMultiplier: number;
2846
+ arcadeDonutYawCapMultiplier: number;
2869
2847
  arcadeSkidFadeInSpeed: number;
2870
2848
  arcadeSkidFadeOutSpeed: number;
2871
- arcadeYawCapMultiplier: number;
2872
2849
  wheelAtRestSpeedThresholdKmh: number;
2873
- wheelSpinDebugLogEnabled: boolean;
2874
- wheelSpinDebugLogIntervalFrames: number;
2875
- private _wheelSpinDebugLogCounter;
2876
- private _postHandbrakeLogFrames;
2877
- private _postHandbrakeLogCounter;
2878
- private _wasAnyArcadeModeActive;
2850
+ arcadeHandbrakeAssistEnabled: boolean;
2851
+ currentSteeringInput: number;
2852
+ arcadeDonutDirectYawEnabled: boolean;
2853
+ arcadeDonutDirectYawDegPerSec: number;
2854
+ arcadeDonutDirectYawDurationMs: number;
2855
+ arcadeDonutDirectYawFadeMs: number;
2856
+ private _arcadeDonutHoldElapsedSec;
2857
+ private _arcadeDonutDirectionSign;
2879
2858
  private _forwardWS;
2880
2859
  private _axle;
2881
2860
  private _forwardImpulse;
@@ -2883,6 +2862,11 @@ export declare class btRaycastVehicle {
2883
2862
  private _arcadeSkidInfo;
2884
2863
  private _arcadePreviousWheelSpin;
2885
2864
  sideFrictionStiffness: number;
2865
+ arcadeSideSlipSaturationEnabled: boolean;
2866
+ arcadeSideSlipPeakDeg: number;
2867
+ arcadeSideSlipFalloffDeg: number;
2868
+ arcadeSideSlipFalloffFactor: number;
2869
+ arcadeSideSlipMinSpeedMps: number;
2886
2870
  private _chassisMass;
2887
2871
  private _chassisInvMass;
2888
2872
  private _chassisTransform;
@@ -2957,6 +2941,8 @@ export declare class btRaycastVehicle {
2957
2941
  private applyTrackConnectionAndDownforce;
2958
2942
  updateVehicle(step: number): void;
2959
2943
  private updateSuspension;
2944
+ private getSteeringAuthorityInput;
2945
+ private getSteeringMagnitude;
2960
2946
  private applyEasyDonutYawAssist;
2961
2947
  private applyHandbrakeYawAssist;
2962
2948
  private resolveWheelSpinDirection;
@@ -3267,20 +3253,16 @@ export declare class RaycastVehicle {
3267
3253
  isArcadeYawAssistActive(): boolean;
3268
3254
  getArcadeSteeringAssist(): number;
3269
3255
  setArcadeSteeringAssist(value: number): void;
3256
+ getArcadeDonutDirectYawEnabled(): boolean;
3257
+ setArcadeDonutDirectYawEnabled(value: boolean): void;
3270
3258
  getArcadeDonutDirectYawDegPerSec(): number;
3271
3259
  setArcadeDonutDirectYawDegPerSec(value: number): void;
3272
- getArcadeHandbrakeDirectYawDegPerSec(): number;
3273
- setArcadeHandbrakeDirectYawDegPerSec(value: number): void;
3274
- getArcadeHandbrakeMaxSlideAngleDeg(): number;
3275
- setArcadeHandbrakeMaxSlideAngleDeg(value: number): void;
3276
- getArcadeHandbrakeBicycleYawAuthority(): number;
3277
- setArcadeHandbrakeBicycleYawAuthority(value: number): void;
3278
- getArcadeHandbrakeMaxYawRateDegPerSec(): number;
3279
- setArcadeHandbrakeMaxYawRateDegPerSec(value: number): void;
3280
- getArcadeHandbrakeReferenceSpeedKmh(): number;
3281
- setArcadeHandbrakeReferenceSpeedKmh(value: number): void;
3282
- getArcadeHandbrakeKickStrengthDegPerSec(): number;
3283
- setArcadeHandbrakeKickStrengthDegPerSec(value: number): void;
3260
+ getArcadeHandbrakeYawCapMultiplier(): number;
3261
+ setArcadeHandbrakeYawCapMultiplier(value: number): void;
3262
+ getArcadeBurnoutYawCapMultiplier(): number;
3263
+ setArcadeBurnoutYawCapMultiplier(value: number): void;
3264
+ getArcadeDonutYawCapMultiplier(): number;
3265
+ setArcadeDonutYawCapMultiplier(value: number): void;
3284
3266
  getArcadeBurnoutActive(): boolean;
3285
3267
  setArcadeBurnoutActive(active: boolean): void;
3286
3268
  getArcadeDonutActive(): boolean;
@@ -3302,9 +3284,6 @@ export declare class RaycastVehicle {
3302
3284
  getNaturalWheelSlip(wheelIndex: number): boolean;
3303
3285
  getWheelAtRestSpeedThresholdKmh(): number;
3304
3286
  setWheelAtRestSpeedThresholdKmh(value: number): void;
3305
- setWheelSpinDebugLogEnabled(enabled: boolean): void;
3306
- getWheelSpinDebugLogEnabled(): boolean;
3307
- setWheelSpinDebugLogIntervalFrames(frames: number): void;
3308
3287
  updateWheelInformation(): void;
3309
3288
  protected lockedWheelInformation(wheel: number): boolean;
3310
3289
  protected deleteWheelInformation(): void;