@babylonjs-toolkit/next 9.1.0 → 9.5.0

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,9 @@ 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
+ }
437
447
  export declare enum System {
438
448
  Deg2Rad,
439
449
  Rad2Deg,
@@ -620,6 +630,7 @@ export declare class UserInputOptions {
620
630
  static EnableBabylonRotation: boolean;
621
631
  }
622
632
  export interface IRuntimeOptions {
633
+ enableUserInput?: boolean;
623
634
  hardwareScalingLevel?: number;
624
635
  initSceneFileLoaders?: boolean;
625
636
  loadAsyncRuntimeLibs?: boolean;
@@ -2816,44 +2827,6 @@ export declare class btRaycastVehicle {
2816
2827
  isArcadeHandBrakeActive: boolean;
2817
2828
  isArcadeWheelSkidActive: boolean;
2818
2829
  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
2830
  burnoutFrictionFloor: number;
2858
2831
  frictionRestoreSpeed: number;
2859
2832
  arcadeBurnoutWheelSpinGain: number;
@@ -2866,16 +2839,20 @@ export declare class btRaycastVehicle {
2866
2839
  arcadeWheelSpinMaxAngularVelocity: number;
2867
2840
  arcadeStationaryBurnoutWheelSpinGain: number;
2868
2841
  arcadeStationaryBurnoutMinAngularVelocity: number;
2842
+ arcadeHandbrakeYawCapMultiplier: number;
2843
+ arcadeBurnoutYawCapMultiplier: number;
2844
+ arcadeDonutYawCapMultiplier: number;
2869
2845
  arcadeSkidFadeInSpeed: number;
2870
2846
  arcadeSkidFadeOutSpeed: number;
2871
- arcadeYawCapMultiplier: number;
2872
2847
  wheelAtRestSpeedThresholdKmh: number;
2873
- wheelSpinDebugLogEnabled: boolean;
2874
- wheelSpinDebugLogIntervalFrames: number;
2875
- private _wheelSpinDebugLogCounter;
2876
- private _postHandbrakeLogFrames;
2877
- private _postHandbrakeLogCounter;
2878
- private _wasAnyArcadeModeActive;
2848
+ arcadeHandbrakeAssistEnabled: boolean;
2849
+ currentSteeringInput: number;
2850
+ arcadeDonutDirectYawEnabled: boolean;
2851
+ arcadeDonutDirectYawDegPerSec: number;
2852
+ arcadeDonutDirectYawDurationMs: number;
2853
+ arcadeDonutDirectYawFadeMs: number;
2854
+ private _arcadeDonutHoldElapsedSec;
2855
+ private _arcadeDonutDirectionSign;
2879
2856
  private _forwardWS;
2880
2857
  private _axle;
2881
2858
  private _forwardImpulse;
@@ -2883,6 +2860,11 @@ export declare class btRaycastVehicle {
2883
2860
  private _arcadeSkidInfo;
2884
2861
  private _arcadePreviousWheelSpin;
2885
2862
  sideFrictionStiffness: number;
2863
+ arcadeSideSlipSaturationEnabled: boolean;
2864
+ arcadeSideSlipPeakDeg: number;
2865
+ arcadeSideSlipFalloffDeg: number;
2866
+ arcadeSideSlipFalloffFactor: number;
2867
+ arcadeSideSlipMinSpeedMps: number;
2886
2868
  private _chassisMass;
2887
2869
  private _chassisInvMass;
2888
2870
  private _chassisTransform;
@@ -2957,6 +2939,8 @@ export declare class btRaycastVehicle {
2957
2939
  private applyTrackConnectionAndDownforce;
2958
2940
  updateVehicle(step: number): void;
2959
2941
  private updateSuspension;
2942
+ private getSteeringAuthorityInput;
2943
+ private getSteeringMagnitude;
2960
2944
  private applyEasyDonutYawAssist;
2961
2945
  private applyHandbrakeYawAssist;
2962
2946
  private resolveWheelSpinDirection;
@@ -3267,20 +3251,16 @@ export declare class RaycastVehicle {
3267
3251
  isArcadeYawAssistActive(): boolean;
3268
3252
  getArcadeSteeringAssist(): number;
3269
3253
  setArcadeSteeringAssist(value: number): void;
3254
+ getArcadeDonutDirectYawEnabled(): boolean;
3255
+ setArcadeDonutDirectYawEnabled(value: boolean): void;
3270
3256
  getArcadeDonutDirectYawDegPerSec(): number;
3271
3257
  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;
3258
+ getArcadeHandbrakeYawCapMultiplier(): number;
3259
+ setArcadeHandbrakeYawCapMultiplier(value: number): void;
3260
+ getArcadeBurnoutYawCapMultiplier(): number;
3261
+ setArcadeBurnoutYawCapMultiplier(value: number): void;
3262
+ getArcadeDonutYawCapMultiplier(): number;
3263
+ setArcadeDonutYawCapMultiplier(value: number): void;
3284
3264
  getArcadeBurnoutActive(): boolean;
3285
3265
  setArcadeBurnoutActive(active: boolean): void;
3286
3266
  getArcadeDonutActive(): boolean;
@@ -3302,9 +3282,6 @@ export declare class RaycastVehicle {
3302
3282
  getNaturalWheelSlip(wheelIndex: number): boolean;
3303
3283
  getWheelAtRestSpeedThresholdKmh(): number;
3304
3284
  setWheelAtRestSpeedThresholdKmh(value: number): void;
3305
- setWheelSpinDebugLogEnabled(enabled: boolean): void;
3306
- getWheelSpinDebugLogEnabled(): boolean;
3307
- setWheelSpinDebugLogIntervalFrames(frames: number): void;
3308
3285
  updateWheelInformation(): void;
3309
3286
  protected lockedWheelInformation(wheel: number): boolean;
3310
3287
  protected deleteWheelInformation(): void;