@babylonjs-toolkit/next 9.28.0 → 9.34.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.
Files changed (199) hide show
  1. package/lib/contentdownloadoutcome.d.ts +2 -0
  2. package/lib/contentdownloadoutcome.d.ts.map +1 -0
  3. package/lib/contentgraphicsoutcome.d.ts +2 -0
  4. package/lib/contentgraphicsoutcome.d.ts.map +1 -0
  5. package/lib/contentgraphicsoutcome.js +1 -0
  6. package/lib/contentgraphicsstatus.d.ts +2 -0
  7. package/lib/contentgraphicsstatus.d.ts.map +1 -0
  8. package/lib/contentgraphicsstatus.js +1 -0
  9. package/lib/contentinstaller.d.ts +245 -0
  10. package/lib/contentinstaller.d.ts.map +1 -0
  11. package/lib/contentinstaller.js +1929 -0
  12. package/lib/contentinstalleravailability.d.ts +2 -0
  13. package/lib/contentinstalleravailability.d.ts.map +1 -0
  14. package/lib/contentinstalleravailability.js +1 -0
  15. package/lib/contentinstallererrorkind.d.ts +2 -0
  16. package/lib/contentinstallererrorkind.d.ts.map +1 -0
  17. package/lib/contentinstallererrorkind.js +1 -0
  18. package/lib/contentinstallphase.d.ts +2 -0
  19. package/lib/contentinstallphase.d.ts.map +1 -0
  20. package/lib/contentinstallphase.js +1 -0
  21. package/lib/contentinstallpolicy.d.ts +2 -0
  22. package/lib/contentinstallpolicy.d.ts.map +1 -0
  23. package/lib/contentinstallpolicy.js +1 -0
  24. package/lib/contentupdatepolicy.d.ts +2 -0
  25. package/lib/contentupdatepolicy.d.ts.map +1 -0
  26. package/lib/contentupdatepolicy.js +1 -0
  27. package/lib/hardwarerayquerybackend.d.ts +4 -0
  28. package/lib/hardwarerayquerybackend.d.ts.map +1 -0
  29. package/lib/hardwarerayquerybackend.js +5 -0
  30. package/lib/iafterspawned.d.ts +4 -0
  31. package/lib/iafterspawned.d.ts.map +1 -0
  32. package/lib/iafterspawned.js +1 -0
  33. package/lib/iaftertick.d.ts +4 -0
  34. package/lib/iaftertick.d.ts.map +1 -0
  35. package/lib/iaftertick.js +1 -0
  36. package/lib/iafterupdate.d.ts +4 -0
  37. package/lib/iafterupdate.d.ts.map +1 -0
  38. package/lib/iafterupdate.js +1 -0
  39. package/lib/ibeforetick.d.ts +4 -0
  40. package/lib/ibeforetick.d.ts.map +1 -0
  41. package/lib/ibeforetick.js +1 -0
  42. package/lib/ibeforeupdate.d.ts +4 -0
  43. package/lib/ibeforeupdate.d.ts.map +1 -0
  44. package/lib/ibeforeupdate.js +1 -0
  45. package/lib/icontentavailabilityblock.d.ts +6 -0
  46. package/lib/icontentavailabilityblock.d.ts.map +1 -0
  47. package/lib/icontentavailabilityblock.js +1 -0
  48. package/lib/icontentchannelmessage.d.ts +24 -0
  49. package/lib/icontentchannelmessage.d.ts.map +1 -0
  50. package/lib/icontentchannelmessage.js +1 -0
  51. package/lib/icontentdownloadjob.d.ts +7 -0
  52. package/lib/icontentdownloadjob.d.ts.map +1 -0
  53. package/lib/icontentdownloadjob.js +1 -0
  54. package/lib/icontentfileref.d.ts +9 -0
  55. package/lib/icontentfileref.d.ts.map +1 -0
  56. package/lib/icontentfileref.js +1 -0
  57. package/lib/icontentforwardedrequest.d.ts +9 -0
  58. package/lib/icontentforwardedrequest.d.ts.map +1 -0
  59. package/lib/icontentforwardedrequest.js +1 -0
  60. package/lib/icontentgraphicssession.d.ts +8 -0
  61. package/lib/icontentgraphicssession.d.ts.map +1 -0
  62. package/lib/icontentgraphicssession.js +1 -0
  63. package/lib/icontentgroupref.d.ts +6 -0
  64. package/lib/icontentgroupref.d.ts.map +1 -0
  65. package/lib/icontentgroupref.js +1 -0
  66. package/lib/icontentgroupstatus.d.ts +14 -0
  67. package/lib/icontentgroupstatus.d.ts.map +1 -0
  68. package/lib/icontentgroupstatus.js +1 -0
  69. package/lib/icontentinflightdownload.d.ts +8 -0
  70. package/lib/icontentinflightdownload.d.ts.map +1 -0
  71. package/lib/icontentinflightdownload.js +1 -0
  72. package/lib/icontentinstallcall.d.ts +6 -0
  73. package/lib/icontentinstallcall.d.ts.map +1 -0
  74. package/lib/icontentinstallcall.js +1 -0
  75. package/lib/icontentinstallererror.d.ts +7 -0
  76. package/lib/icontentinstallererror.d.ts.map +1 -0
  77. package/lib/icontentinstallererror.js +1 -0
  78. package/lib/icontentinstalleroptions.d.ts +20 -0
  79. package/lib/icontentinstalleroptions.d.ts.map +1 -0
  80. package/lib/icontentinstalleroptions.js +1 -0
  81. package/lib/icontentinstallerstate.d.ts +30 -0
  82. package/lib/icontentinstallerstate.d.ts.map +1 -0
  83. package/lib/icontentinstallerstate.js +1 -0
  84. package/lib/icontentinstalloptions.d.ts +5 -0
  85. package/lib/icontentinstalloptions.d.ts.map +1 -0
  86. package/lib/icontentinstalloptions.js +1 -0
  87. package/lib/icontentinstallprogress.d.ts +21 -0
  88. package/lib/icontentinstallprogress.d.ts.map +1 -0
  89. package/lib/icontentinstallprogress.js +1 -0
  90. package/lib/icontentmanifest.d.ts +10 -0
  91. package/lib/icontentmanifest.d.ts.map +1 -0
  92. package/lib/icontentmanifest.js +1 -0
  93. package/lib/icontentmanifestfile.d.ts +8 -0
  94. package/lib/icontentmanifestfile.d.ts.map +1 -0
  95. package/lib/icontentmanifestfile.js +1 -0
  96. package/lib/icontentmanifestgroup.d.ts +5 -0
  97. package/lib/icontentmanifestgroup.d.ts.map +1 -0
  98. package/lib/icontentmanifestgroup.js +1 -0
  99. package/lib/icontentpreparegraphicsoptions.d.ts +5 -0
  100. package/lib/icontentpreparegraphicsoptions.d.ts.map +1 -0
  101. package/lib/icontentpreparegraphicsoptions.js +1 -0
  102. package/lib/icontentprogresssession.d.ts +10 -0
  103. package/lib/icontentprogresssession.d.ts.map +1 -0
  104. package/lib/icontentprogresssession.js +1 -0
  105. package/lib/icontentretrywait.d.ts +6 -0
  106. package/lib/icontentretrywait.d.ts.map +1 -0
  107. package/lib/icontentretrywait.js +1 -0
  108. package/lib/icontentrootoptions.d.ts +6 -0
  109. package/lib/icontentrootoptions.d.ts.map +1 -0
  110. package/lib/icontentrootoptions.js +1 -0
  111. package/lib/icontentrootruntime.d.ts +8 -0
  112. package/lib/icontentrootruntime.d.ts.map +1 -0
  113. package/lib/icontentrootruntime.js +1 -0
  114. package/lib/icontentrootstate.d.ts +29 -0
  115. package/lib/icontentrootstate.d.ts.map +1 -0
  116. package/lib/icontentrootstate.js +1 -0
  117. package/lib/icontentstorageestimate.d.ts +8 -0
  118. package/lib/icontentstorageestimate.d.ts.map +1 -0
  119. package/lib/icontentstorageestimate.js +1 -0
  120. package/lib/icontentstoreresult.d.ts +8 -0
  121. package/lib/icontentstoreresult.d.ts.map +1 -0
  122. package/lib/icontentstoreresult.js +1 -0
  123. package/lib/icontentstorewaiter.d.ts +6 -0
  124. package/lib/icontentstorewaiter.d.ts.map +1 -0
  125. package/lib/icontentstorewaiter.js +1 -0
  126. package/lib/icontentupdateinfo.d.ts +8 -0
  127. package/lib/icontentupdateinfo.d.ts.map +1 -0
  128. package/lib/icontentupdateinfo.js +1 -0
  129. package/lib/idespawned.d.ts +5 -0
  130. package/lib/idespawned.d.ts.map +1 -0
  131. package/lib/idespawned.js +1 -0
  132. package/lib/iinputauthoritylost.d.ts +4 -0
  133. package/lib/iinputauthoritylost.d.ts.map +1 -0
  134. package/lib/iinputauthoritylost.js +1 -0
  135. package/lib/index.d.ts +142 -32
  136. package/lib/index.d.ts.map +1 -1
  137. package/lib/index.js +142 -32
  138. package/lib/iplayerjoined.d.ts +5 -0
  139. package/lib/iplayerjoined.d.ts.map +1 -0
  140. package/lib/iplayerjoined.js +1 -0
  141. package/lib/iplayerleft.d.ts +5 -0
  142. package/lib/iplayerleft.d.ts.map +1 -0
  143. package/lib/iplayerleft.js +1 -0
  144. package/lib/ispawned.d.ts +4 -0
  145. package/lib/ispawned.d.ts.map +1 -0
  146. package/lib/ispawned.js +1 -0
  147. package/lib/istateauthoritychanged.d.ts +4 -0
  148. package/lib/istateauthoritychanged.d.ts.map +1 -0
  149. package/lib/istateauthoritychanged.js +1 -0
  150. package/lib/loopbackdelivery.d.ts +6 -0
  151. package/lib/loopbackdelivery.d.ts.map +1 -0
  152. package/lib/loopbackdelivery.js +1 -0
  153. package/lib/loopbackhub.d.ts +206 -0
  154. package/lib/loopbackhub.d.ts.map +1 -0
  155. package/lib/loopbackhub.js +986 -0
  156. package/lib/loopbackhuboptions.d.ts +8 -0
  157. package/lib/loopbackhuboptions.d.ts.map +1 -0
  158. package/lib/loopbackhuboptions.js +1 -0
  159. package/lib/network_reconnect_grace_seconds.d.ts +2 -0
  160. package/lib/network_reconnect_grace_seconds.d.ts.map +1 -0
  161. package/lib/network_reconnect_grace_seconds.js +1 -0
  162. package/lib/networkstats.d.ts +51 -0
  163. package/lib/networkstats.d.ts.map +1 -0
  164. package/lib/networkstats.js +204 -0
  165. package/lib/networkstatssample.d.ts +7 -0
  166. package/lib/networkstatssample.d.ts.map +1 -0
  167. package/lib/networkstatssample.js +1 -0
  168. package/lib/networkstatssliderrow.d.ts +9 -0
  169. package/lib/networkstatssliderrow.d.ts.map +1 -0
  170. package/lib/networkstatssliderrow.js +1 -0
  171. package/lib/project.d.ts +1116 -363
  172. package/lib/project.d.ts.map +1 -1
  173. package/lib/project.js +4783 -2006
  174. package/lib/scenemanager.d.ts +23521 -3826
  175. package/lib/scenemanager.d.ts.map +1 -1
  176. package/lib/scenemanager.js +152036 -54864
  177. package/lib/shadercodecachememorystorage.d.ts +10 -0
  178. package/lib/shadercodecachememorystorage.d.ts.map +1 -0
  179. package/lib/shadercodecachememorystorage.js +32 -0
  180. package/lib/workers/bt-content-worker.js +1180 -0
  181. package/lib/zigzagdecode.d.ts +2 -0
  182. package/lib/zigzagdecode.d.ts.map +1 -0
  183. package/lib/zigzagdecode.js +3 -0
  184. package/lib/zigzagencode.d.ts +2 -0
  185. package/lib/zigzagencode.d.ts.map +1 -0
  186. package/lib/zigzagencode.js +3 -0
  187. package/package.json +18 -13
  188. package/lib/blendtreeposition.d.ts +0 -5
  189. package/lib/blendtreeposition.d.ts.map +0 -1
  190. package/lib/blendtreeposition.js +0 -5
  191. package/lib/entitycontroller.d.ts +0 -11
  192. package/lib/entitycontroller.d.ts.map +0 -1
  193. package/lib/entitycontroller.js +0 -41
  194. package/lib/ianimationcurve.d.ts +0 -14
  195. package/lib/ianimationcurve.d.ts.map +0 -1
  196. package/lib/sgshadowdepth.d.ts +0 -19
  197. package/lib/sgshadowdepth.d.ts.map +0 -1
  198. package/lib/sgshadowdepth.js +0 -214
  199. /package/lib/{ianimationcurve.js → contentdownloadoutcome.js} +0 -0
package/lib/project.d.ts CHANGED
@@ -1,9 +1,189 @@
1
1
  import type * as BABYLON from "@babylonjs/core/Legacy/legacy";
2
2
  declare const BABYLON: any;
3
- import { ScriptComponent, AudioSource, RigidbodyPhysics, AnimationState, ShurikenParticles, IUnityVector3, IUnityVector4, RaycastVehicle, btWheelInfo, PlayerNumber, CustomShaderMaterial, CustomShaderMaterialPlugin, PreloadAssetsManager, IAssetPreloader, CharacterController } from './scenemanager';
3
+ import { ScriptComponent, Animator, RigidbodyPhysics, CustomShaderMaterial, AudioSource, ShurikenParticles, IParticleMainModule, IParticleMinMaxCurve, IUnityVector3, IUnityVector4, RaycastVehicle, btWheelInfo, PlayerNumber, CustomShaderMaterialPlugin, PreloadAssetsManager, IAssetPreloader, CharacterController } from './scenemanager';
4
4
  import { LocalMessageBus } from './localmessagebus';
5
5
  import { NoiseFunction2D } from './noisefunction2d';
6
6
  import { TouchJoystickHandler } from './touchjoystickhandler';
7
+ export declare class KartBumpTarget extends ScriptComponent {
8
+ hasStar: boolean;
9
+ isAutoDriving: boolean;
10
+ slotIndex: number;
11
+ constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
12
+ }
13
+ export declare const DRIVER_LEAN_INPUT_THRESHOLD: number;
14
+ export declare const DRIVER_LEAN_PATH_ERROR_THRESHOLD: number;
15
+ export declare const DRIVER_STEERING_WHEEL_ANGLE: number;
16
+ export declare const DRIVER_STEERING_WHEEL_RATE: number;
17
+ export declare const DRIVER_STEERING_WHEEL_PATH_ERROR_THRESHOLD: number;
18
+ export declare const DRIVER_STEERING_WHEEL_PATH_RATE: number;
19
+ export declare const DRIVER_HEAD_LOOK_RANGE: number;
20
+ export declare const DRIVER_HEAD_LOOK_RATE: number;
21
+ export declare const DRIVER_HEAD_RETURN_RATE: number;
22
+ export declare const DRIVER_HEAD_LOOK_CYCLE_SECONDS: number;
23
+ export declare const DRIVER_HEAD_LOOK_DELAY_SECONDS: number;
24
+ export declare const DRIVER_HEAD_LOOK_START_SECONDS: number;
25
+ export declare const DRIVER_HEAD_LOOK_MAX_DEGREES: number;
26
+ export declare const DRIVER_HEAD_LOOK_MIN_SPEED: number;
27
+ export declare const DRIVER_HEAD_WRITE_EPSILON: number;
28
+ export declare const DRIVER_IDLE_OR_STEERING_STATES: string[];
29
+ export declare const DRIVER_TURN_LEFT_PARAMETER: string;
30
+ export declare const DRIVER_TURN_RIGHT_PARAMETER: string;
31
+ export declare const DRIVER_HAS_ITEM_PARAMETER: string;
32
+ export declare const DRIVER_REVERSE_PARAMETER: string;
33
+ export interface IDriverLeanState {
34
+ turnLeft: boolean;
35
+ turnRight: boolean;
36
+ }
37
+ export interface IDriverAnimationFrame {
38
+ steeringInput: number;
39
+ antiGravity: boolean;
40
+ speed: number;
41
+ raceStarted: boolean;
42
+ raceCompleted: boolean;
43
+ hasHeldItem: boolean;
44
+ reversing: boolean;
45
+ }
46
+ export declare class KartDriverAnimation {
47
+ private static readonly KART_ROOTS;
48
+ private readonly kartRoot;
49
+ private readonly driverAnimator;
50
+ private readonly headNode;
51
+ private pathError;
52
+ private steeringWheelDegrees;
53
+ private headYawDegrees;
54
+ private lookCycleSeconds;
55
+ private readonly headBaseRotation;
56
+ private readonly headWrittenRotation;
57
+ private hasWrittenHead;
58
+ private reverseWritten;
59
+ private readonly lookRotation;
60
+ private readonly localAxis;
61
+ private readonly inverseKartMatrix;
62
+ private readonly inverseParentMatrix;
63
+ private readonly opponentLocal;
64
+ constructor(kartRoot: BABYLON.TransformNode, driverAnimator: Animator | null, headNode: BABYLON.TransformNode | null);
65
+ static leanFromInput(steeringInput: number): IDriverLeanState;
66
+ static leanFromPathError(pathError: number): IDriverLeanState;
67
+ static leanForFrame(frame: IDriverAnimationFrame, pathError: number): IDriverLeanState;
68
+ static steeringWheelTarget(steeringInput: number, antiGravity: boolean, currentDegrees: number): number;
69
+ static steeringWheelTargetFromPathError(pathError: number, antiGravity: boolean, currentDegrees: number): number;
70
+ static headYawTarget(localRight: number, localForward: number): number;
71
+ static advanceLookCycle(cycleSeconds: number, deltaSeconds: number): number;
72
+ setPathError(pathError: number): void;
73
+ updateFrame(frame: IDriverAnimationFrame, animators: Animator[], deltaSeconds: number): void;
74
+ private writeReverse;
75
+ applySteeringWheel(wheel: BABYLON.TransformNode | null, restRotation: BABYLON.Quaternion | null): void;
76
+ lateFrame(frame: IDriverAnimationFrame, deltaSeconds: number): void;
77
+ dispose(): void;
78
+ private steeringWheelTargetForFrame;
79
+ private isIdleOrSteering;
80
+ private nearestOpponentYaw;
81
+ private writeHead;
82
+ }
83
+ export declare enum EKartHitKind {
84
+ Banana = 0,
85
+ Shell = 1,
86
+ Explosion = 2
87
+ }
88
+ export declare class KartHitState {
89
+ static readonly SPIN_OUT_SECONDS: number;
90
+ static readonly HIT_INVULNERABLE_SECONDS: number;
91
+ static readonly STAR_SECONDS: number;
92
+ private spinOutRemaining;
93
+ private invulnerableRemaining;
94
+ private starRemaining;
95
+ private autoDriveActive;
96
+ private lastHitKind;
97
+ applyHit(kind: EKartHitKind): boolean;
98
+ startStar(seconds?: number): void;
99
+ setAutoDrive(active: boolean): void;
100
+ tick(deltaSeconds: number): void;
101
+ isSpunOut(): boolean;
102
+ isInvulnerable(): boolean;
103
+ hasStar(): boolean;
104
+ getStarRemaining(): number;
105
+ isAutoDriving(): boolean;
106
+ isImmune(): boolean;
107
+ getLastHitKind(): EKartHitKind | null;
108
+ }
109
+ export declare enum EKartContactKind {
110
+ Road = 0,
111
+ Step = 1,
112
+ Wall = 2
113
+ }
114
+ export interface IKartPush {
115
+ force: BABYLON.Vector3;
116
+ remainingSeconds: number;
117
+ }
118
+ export declare class KartImpacts {
119
+ static readonly GLANCE_MAX_INTO_WALL: number;
120
+ static readonly WALL_BOUNCE_MAX_SPEED: number;
121
+ static readonly WALL_BOUNCE_DECAY_RATE: number;
122
+ static readonly WALL_HEADING_EASE_SECONDS: number;
123
+ static readonly BUMP_FORCE_FAST: number;
124
+ static readonly BUMP_FORCE_SLOW: number;
125
+ static readonly BUMP_FAST_SPEED: number;
126
+ static readonly BUMP_PUSH_SECONDS: number;
127
+ static readonly BUMP_COOLDOWN_SECONDS: number;
128
+ static readonly BUMP_MAX_DISTANCE: number;
129
+ static readonly PUSH_DECAY_RATE: number;
130
+ static readonly ANTIGRAVITY_BUMP_BOOST_SECONDS: number;
131
+ static readonly ROAD_CONTACT_MIN_UP_DOT: number;
132
+ static readonly STEP_MIN_UP_DOT: number;
133
+ static readonly LEDGE_MOUNT_MAX_HEIGHT: number;
134
+ static readonly LEDGE_CORNER_MIN_INTO: number;
135
+ static readonly MOVING_ROAD_MIN_UP_DOT: number;
136
+ static readonly CONTACT_PRESS_SPEED: number;
137
+ static readonly CONTACT_TOUCH_DISTANCE: number;
138
+ private static readonly MIN_DIRECTION_LENGTH;
139
+ static sideOfContact(position: BABYLON.Vector3, forward: BABYLON.Vector3, up: BABYLON.Vector3, otherPosition: BABYLON.Vector3): number;
140
+ static speedAfterWallHit(currentSpeed: number, intoWall: number): number;
141
+ static intoWallFraction(travelDirection: BABYLON.Vector3, wallNormal: BABYLON.Vector3): number;
142
+ static wallBounceSpeed(intoWall: number): number;
143
+ static fadeWallBounce(bounceSpeed: number, stepSeconds: number): number;
144
+ static headingEaseYaw(localWallNormal: BABYLON.Vector3, travelSign: number, stepSeconds: number): number;
145
+ static registerMovingRoad(body: BABYLON.PhysicsBody): void;
146
+ static unregisterMovingRoad(body: BABYLON.PhysicsBody): void;
147
+ static isMovingRoad(body: BABYLON.PhysicsBody | null | undefined): boolean;
148
+ static classifyContact(contactNormal: BABYLON.Vector3, kartUp: BABYLON.Vector3, stepMinUpDot?: number, onMovingRoad?: boolean): EKartContactKind;
149
+ static ledgeHeight(contactNormal: BABYLON.Vector3, kartUp: BABYLON.Vector3, sphereRadius: number): number;
150
+ static isMountableLedgeCorner(contactNormal: BABYLON.Vector3, kartUp: BABYLON.Vector3, sphereRadius: number, travelDirection: BABYLON.Vector3): boolean;
151
+ static isNextStepOfStairs(blockerNormal: BABYLON.Vector3, kartUp: BABYLON.Vector3, sphereRadius: number, sweepClearance: number): boolean;
152
+ static ledgeMountMinUpDot(sphereRadius: number): number;
153
+ static isMountableStep(stepHeight: number, sphereRadius: number): boolean;
154
+ static slideNormal(contactNormal: BABYLON.Vector3, kartUp: BABYLON.Vector3, stepMinUpDot?: number, onMovingRoad?: boolean): BABYLON.Vector3 | null;
155
+ static removeVelocityIntoSurface(velocity: BABYLON.Vector3, surfaceNormal: BABYLON.Vector3): void;
156
+ static keepNoseSpeed(velocity: BABYLON.Vector3, forward: BABYLON.Vector3, noseSpeed: number): boolean;
157
+ static limitApproachSpeed(velocity: BABYLON.Vector3, surfaceNormal: BABYLON.Vector3, gapMeters: number, stepSeconds: number): void;
158
+ static wallAheadSlideNormal(hitNormal: BABYLON.Vector3, kartUp: BABYLON.Vector3, onMovingRoad?: boolean): BABYLON.Vector3 | null;
159
+ static steeringSpeed(realSpeed: number, decreedSpeed: number, heldByWall: boolean): number;
160
+ static createBumpPush(right: BABYLON.Vector3, side: number, currentSpeed: number, hasStar: boolean): IKartPush;
161
+ static stepPush(push: IKartPush, stepVelocity: BABYLON.Vector3, chassisMass: number, stepSeconds: number): boolean;
162
+ private static limitSpeedIntoSurface;
163
+ }
164
+ export declare class KartSurfaceContacts {
165
+ static readonly MAX_CONTACTS: number;
166
+ private static readonly SLIDE_PASSES;
167
+ private incoming;
168
+ private current;
169
+ private incomingIsWall;
170
+ private currentIsWall;
171
+ private incomingCount;
172
+ private currentCount;
173
+ private incomingWall;
174
+ private currentWall;
175
+ private incomingMovingRoad;
176
+ private currentMovingRoad;
177
+ add(contactNormal: BABYLON.Vector3, kartUp: BABYLON.Vector3, stepMinUpDot?: number, onMovingRoad?: boolean): void;
178
+ addMovingRoadContact(): void;
179
+ touchesMovingRoad(): boolean;
180
+ beginStep(): void;
181
+ touchesWall(): boolean;
182
+ count(): number;
183
+ strongestWall(travelDirection: BABYLON.Vector3, result: BABYLON.Vector3): number;
184
+ slide(velocity: BABYLON.Vector3): void;
185
+ clear(): void;
186
+ }
7
187
  export declare const KART_FINISH_LINE_TAG: string;
8
188
  export declare const KART_STOP_DRIFT_ROT_SECONDS: number;
9
189
  export declare const KART_STOP_DRIFT_ROT_RATE: number;
@@ -31,7 +211,17 @@ export declare class KartLapCounter extends ScriptComponent {
31
211
  Position: number;
32
212
  endPosition: number;
33
213
  isPlayer: boolean;
214
+ finished: boolean;
215
+ finishTime: number;
216
+ finishOrder: number;
217
+ lapStartTime: number;
218
+ lapTimes: number[];
219
+ pendingFinish: boolean;
220
+ private finalLapAnnounced;
34
221
  protected checkpoints: IKartCheckpoint[];
222
+ private finishLinePoint;
223
+ private readonly finishLineForward;
224
+ private finishLineResolved;
35
225
  protected kart: any;
36
226
  race: any;
37
227
  protected awake(): void;
@@ -39,8 +229,13 @@ export declare class KartLapCounter extends ScriptComponent {
39
229
  protected resolveKart(): any;
40
230
  setCheckpoints(checkpoints: IKartCheckpoint[]): void;
41
231
  getCheckpoints(): IKartCheckpoint[];
232
+ isLapDue(): boolean;
233
+ getDistancePastFinishLine(position: BABYLON.Vector3): number | null;
234
+ protected resolveFinishLine(): void;
235
+ private static distanceToSegment;
42
236
  checkAllPoints(): boolean;
43
237
  protected onTimingTrigger(other: BABYLON.TransformNode): void;
238
+ protected reportCountedLap(): void;
44
239
  protected applyRespawnPoint(checkpoint: IKartCheckpoint): void;
45
240
  protected checkpointPosition(checkpoint: IKartCheckpoint): BABYLON.Vector3;
46
241
  protected checkpointRespawnPosition(checkpoint: IKartCheckpoint): BABYLON.Vector3;
@@ -62,6 +257,14 @@ export declare class KartOutOfBounds extends ScriptComponent {
62
257
  protected update(): void;
63
258
  private findKart;
64
259
  }
260
+ export declare class KartPathSteering {
261
+ static readonly SMOOTH_TIME_SECONDS: number;
262
+ static readonly ORIGINAL_FRAME_RATE: number;
263
+ static directionError(position: BABYLON.Vector3, forward: BABYLON.Vector3, up: BABYLON.Vector3, target: BABYLON.Vector3): number;
264
+ static steeringFromError(smoothedError: number, turnSpeedDivider: number, kartYawRateDegreesPerSecond: number): number;
265
+ static lookAheadOnSegment(position: BABYLON.Vector3, segmentStart: BABYLON.Vector3, segmentEnd: BABYLON.Vector3, lookAheadMeters: number, result: BABYLON.Vector3): BABYLON.Vector3;
266
+ static smoothError(current: number, target: number, deltaSeconds: number): number;
267
+ }
65
268
  export declare const COUNTDOWN_CLIP_SPEED: number;
66
269
  export declare enum EKartCountdownEvent {
67
270
  Beep = 0,
@@ -75,7 +278,23 @@ export interface IKartCountdownBeat {
75
278
  export declare const KART_COUNTDOWN_BEATS: IKartCountdownBeat[];
76
279
  export declare const KART_COUNTDOWN_LENGTH: number;
77
280
  export declare const KART_POSITION_SORT_INTERVAL: number;
281
+ export interface IKartRacerEntry {
282
+ lapCounter: KartLapCounter;
283
+ kart: StandardKartController;
284
+ isHuman: boolean;
285
+ }
286
+ export interface IKartRaceResult {
287
+ lapCounter: KartLapCounter;
288
+ kart: StandardKartController;
289
+ place: number;
290
+ finished: boolean;
291
+ finishTime: number;
292
+ isHuman: boolean;
293
+ }
78
294
  export declare class KartRaceManager extends ScriptComponent {
295
+ static readonly RESULTS_DELAY_SECONDS: number;
296
+ static readonly RACE_STARTED_EVENT: string;
297
+ private static readonly RESULTS_DELAY_TOLERANCE;
79
298
  RACE_STARTED: boolean;
80
299
  RACE_COMPLETED: boolean;
81
300
  countDownTime: number;
@@ -86,21 +305,252 @@ export declare class KartRaceManager extends ScriptComponent {
86
305
  onCountdownBeep: ((index: number) => void) | null;
87
306
  onGoSound: (() => void) | null;
88
307
  onRaceStart: (() => void) | null;
308
+ racers: IKartRacerEntry[];
309
+ onLapCompleted: ((lapCounter: KartLapCounter, completedLap: number) => void) | null;
310
+ onFinalLap: ((lapCounter: KartLapCounter) => void) | null;
311
+ onRacerFinished: ((lapCounter: KartLapCounter, place: number) => void) | null;
312
+ onResults: ((results: IKartRaceResult[]) => void) | null;
89
313
  private countDownClockRunning;
90
314
  private countdownBeat;
91
315
  private sortTime;
316
+ private finishedCount;
317
+ private resultsDelayRunning;
318
+ private resultsDelayElapsed;
319
+ private resultsFired;
92
320
  protected awake(): void;
93
321
  startCountdown(): void;
94
322
  isCountdownRunning(): boolean;
323
+ registerRacer(lapCounter: KartLapCounter, kart: StandardKartController, isHuman: boolean): void;
324
+ getTimeUntilGo(): number;
95
325
  getCountdownBeat(): number;
96
326
  getBeepCount(): number;
97
327
  tick(dt: number): void;
328
+ getResults(): IKartRaceResult[];
329
+ private chargeLaunches;
330
+ private releaseRacers;
331
+ private resolvePendingFinishes;
332
+ private haveAllHumansFinished;
333
+ private tickResultsDelay;
98
334
  private fireCountdownBeats;
99
335
  private dispatchBeat;
100
336
  calculateRacerPosition(): void;
101
337
  getSortedRacers(): any[];
102
338
  resetRace(): void;
103
339
  }
340
+ export declare enum EKartRescueReason {
341
+ Water = 0,
342
+ OutOfBounds = 1,
343
+ Fall = 2,
344
+ Flipped = 3,
345
+ Wedged = 4,
346
+ OffCourse = 5
347
+ }
348
+ export interface IKartRescuePlacement {
349
+ position: BABYLON.Vector3;
350
+ rotation: BABYLON.Quaternion;
351
+ antiGravity?: boolean;
352
+ onDepartedRoad?: boolean;
353
+ courseAntiGravity?: boolean;
354
+ }
355
+ export interface IKartRescueEvent {
356
+ reason: EKartRescueReason;
357
+ kart: StandardKartController;
358
+ }
359
+ export interface IKartRecoverySample {
360
+ positionY: number;
361
+ upDotWorldUp: number;
362
+ grounded: boolean;
363
+ antiGravity: boolean;
364
+ excused: boolean;
365
+ throttleHeld?: boolean;
366
+ movingSpeed?: number;
367
+ stallExcused?: boolean;
368
+ }
369
+ export declare const KART_STALLED_SPEED: number;
370
+ export declare const KART_STALLED_SECONDS: number;
371
+ export declare function isKartStalled(sample: IKartRecoverySample): boolean;
372
+ export declare const KART_FLIPPED_UP_DOT: number;
373
+ export declare const KART_FLIPPED_SECONDS: number;
374
+ export declare function shouldFallRescue(positionY: number, floorY: number, airborneSeconds: number, airborneLimitSeconds: number): boolean;
375
+ export declare function isKartFlipped(sample: IKartRecoverySample): boolean;
376
+ export declare function nearestEquivalentAngle(targetDegrees: number, referenceDegrees: number): number;
377
+ export declare function isAtOrPastLoopIndex(index: number, limitIndex: number, count: number): boolean;
378
+ export declare const FINISH_LINE_HOLD_METERS: number;
379
+ export declare function indexBeforeFinishLine(points: BABYLON.Vector3[], startIndex: number, distancePastLine: (point: BABYLON.Vector3) => number | null): number;
380
+ export declare function pointBeforeFinishLine(lastBefore: BABYLON.Vector3, firstAfter: BABYLON.Vector3, distancePastLine: (point: BABYLON.Vector3) => number | null): BABYLON.Vector3 | null;
381
+ export declare const COURSE_MEMORY_CELL_METERS: number;
382
+ export declare const COURSE_MEMORY_STATE_METERS: number;
383
+ export declare const COURSE_MEMORY_PLACEMENT_METERS: number;
384
+ export declare const COURSE_MEMORY_SAME_ROAD_DOT: number;
385
+ export interface IKartCourseSample {
386
+ position: BABYLON.Vector3;
387
+ up: BABYLON.Vector3;
388
+ antiGravity: boolean;
389
+ statesByKart: Map<number, boolean>;
390
+ }
391
+ export declare class KartCourseMemory {
392
+ private static readonly memories;
393
+ private readonly cells;
394
+ static forScene(scene: BABYLON.Scene | null): KartCourseMemory;
395
+ record(position: BABYLON.Vector3, up: BABYLON.Vector3, antiGravity: boolean, kartKey?: number): void;
396
+ nearestSample(position: BABYLON.Vector3, up: BABYLON.Vector3 | null, maxDistance: number): IKartCourseSample | null;
397
+ stateAt(position: BABYLON.Vector3, up: BABYLON.Vector3): boolean | null;
398
+ clear(): void;
399
+ private forEachSampleNear;
400
+ private static cellKey;
401
+ }
402
+ export declare const ANTIGRAVITY_END_RESCUE_METERS: number;
403
+ export declare function rescueAntiGravityState(placementOnWall: boolean, knownState: boolean | null, leftRoadInAntiGravity: boolean, onDepartedRoad: boolean, nearOwnAntiGravityEnd?: boolean): boolean;
404
+ export declare const ANTIGRAVITY_ROAD_NORMAL_Y: number;
405
+ export declare const ANTIGRAVITY_BANKED_ROAD_NORMAL_Y: number;
406
+ export declare const ANTIGRAVITY_BANKED_ARM_SECONDS: number;
407
+ export declare const ANTIGRAVITY_FLAT_ROAD_END_SECONDS: number;
408
+ export declare const ANTIGRAVITY_UPRIGHT_NORMAL_Y: number;
409
+ export declare const ANTIGRAVITY_ROAD_END_SECONDS: number;
410
+ export declare const ANTIGRAVITY_REENTRY_GUARD_SECONDS: number;
411
+ export declare const ANTIGRAVITY_BANK_MIN_ALIGN_DOT: number;
412
+ export declare const ANTIGRAVITY_BANK_MIN_TURN_DOT: number;
413
+ export interface IKartBankLatchSample {
414
+ latched: boolean;
415
+ enabled: boolean;
416
+ wasGrounded: boolean;
417
+ sameBody: boolean;
418
+ hitNormal: BABYLON.Vector3;
419
+ lastGroundNormal: BABYLON.Vector3;
420
+ kartUp: BABYLON.Vector3;
421
+ }
422
+ export declare function isSmoothBankOntoAntiGravityRoad(sample: IKartBankLatchSample): boolean;
423
+ export interface IKartAntiGravityRoadSample {
424
+ latched: boolean;
425
+ insideEntryVolume: boolean;
426
+ grounded: boolean;
427
+ groundNormalY: number;
428
+ }
429
+ export declare class KartAntiGravityRoadWatch {
430
+ private armed;
431
+ private uprightSeconds;
432
+ private flatSeconds;
433
+ private bankedSeconds;
434
+ tick(sample: IKartAntiGravityRoadSample, deltaSeconds: number): boolean;
435
+ reset(): void;
436
+ isArmed(): boolean;
437
+ }
438
+ export declare const ANTI_GRAVITY_INVERTED_MAX_UP_Y: number;
439
+ export declare const ANTI_GRAVITY_INVERTED_MAX_GROUND_NORMAL_Y: number;
440
+ export declare const ANTI_GRAVITY_INVERTED_MAX_ALIGN_DOT: number;
441
+ export declare const ANTI_GRAVITY_INVERTED_RECOVER_SECONDS: number;
442
+ export interface IKartInvertedSample {
443
+ latched: boolean;
444
+ grounded: boolean;
445
+ upY: number;
446
+ groundNormalY: number;
447
+ upDotGroundNormal: number;
448
+ }
449
+ export declare function isTurnedOverOntoWall(sample: IKartInvertedSample): boolean;
450
+ export declare class KartAntiGravityInvertedWatch {
451
+ private invertedSeconds;
452
+ tick(sample: IKartInvertedSample, deltaSeconds: number): boolean;
453
+ reset(): void;
454
+ }
455
+ export declare class KartRecoveryWatch {
456
+ airborneLimitSeconds: number;
457
+ floorY: number;
458
+ flippedLimitSeconds: number;
459
+ stalledLimitSeconds: number;
460
+ private airborneSeconds;
461
+ private flippedSeconds;
462
+ private stalledSeconds;
463
+ tick(sample: IKartRecoverySample, deltaSeconds: number): EKartRescueReason | null;
464
+ reset(): void;
465
+ getStalledSeconds(): number;
466
+ getAirborneSeconds(): number;
467
+ getFlippedSeconds(): number;
468
+ }
469
+ export declare class KartRescuePlacer {
470
+ static readonly SEARCH_RADIUS: number;
471
+ static readonly SURFACE_LIFT: number;
472
+ static readonly DRIVABLE_TAGS: string[];
473
+ static readonly WALKABLE_NORMAL_Y: number;
474
+ static readonly KART_CLEARANCE: number;
475
+ private static readonly CLEARANCE_RAY_OFFSET;
476
+ private static readonly SEARCH_DIRECTIONS;
477
+ static readonly SAME_ROAD_DOT: number;
478
+ static placeNear(point: BABYLON.Vector3, facingTarget: BABYLON.Vector3, preferredUp?: BABYLON.Vector3 | null): IKartRescuePlacement | null;
479
+ static surfaceRotation(surfaceUp: BABYLON.Vector3, heading: BABYLON.Vector3): BABYLON.Quaternion;
480
+ private static hasKartClearance;
481
+ private static tagOf;
482
+ private static buildSearchDirections;
483
+ }
484
+ export declare class KartRigLookup {
485
+ static findNode(root: BABYLON.TransformNode, name: string): BABYLON.TransformNode | null;
486
+ static findAnimator(root: BABYLON.TransformNode, nodeName: string): Animator | null;
487
+ static setTrigger(animators: Animator[], parameterName: string): number;
488
+ static hasBool(animator: Animator, parameterName: string): boolean;
489
+ static setBool(animators: Animator[], parameterName: string, value: boolean): number;
490
+ }
491
+ export declare const TIRE_GLOW_LINE_PROPERTY: string;
492
+ export declare const KART_BODY_GLOW_PROPERTY: string;
493
+ export declare const TIRE_GLOW_RIM_PROPERTY: string;
494
+ export declare const TIRE_GLOW_CENTER_PROPERTY: string;
495
+ export declare const TIRE_GLOW_LINE_INTENSITY: number;
496
+ export declare const TIRE_GLOW_BLEND_RATE: number;
497
+ export declare const TIRE_GLOW_FLASH_FADE_RATE: number;
498
+ export declare const TIRE_GLOW_FLASH_SECONDS: number;
499
+ export declare const TIRE_GLOW_WRITE_EPSILON: number;
500
+ export declare const TIRE_GLOW_DEFAULT_TINT: string;
501
+ export interface IKartGlowMaterial {
502
+ getGraphInfo(): {
503
+ properties?: {
504
+ [unityName: string]: string;
505
+ };
506
+ } | null;
507
+ setVector(unityName: string, value: BABYLON.Vector4): void;
508
+ setColor(unityName: string, value: BABYLON.Color4): void;
509
+ }
510
+ export type KartGlowMaterial = BABYLON.Material & IKartGlowMaterial;
511
+ export declare function isKartGlowMaterial(material: BABYLON.Material | null): material is KartGlowMaterial;
512
+ export declare class KartTireGlow {
513
+ private readonly slots;
514
+ private lineBlend;
515
+ private flashLevel;
516
+ private flashSeconds;
517
+ private wasAntiGravity;
518
+ private writtenLine;
519
+ private writtenFlash;
520
+ private readonly flashTint;
521
+ private readonly scratchVector;
522
+ private readonly scratchColor;
523
+ constructor(flashTintHex: string);
524
+ attach(kartRoot: BABYLON.TransformNode): number;
525
+ tick(antiGravity: boolean, allowFlash: boolean, deltaSeconds: number): void;
526
+ getLineBlend(): number;
527
+ getFlashLevel(): number;
528
+ getMaterialCount(): number;
529
+ dispose(): void;
530
+ private findOrCreateSlot;
531
+ private advanceLineBlend;
532
+ private advanceFlash;
533
+ private writeLine;
534
+ private writeFlash;
535
+ }
536
+ export declare class KartTrackInfo extends ScriptComponent {
537
+ displayName: string;
538
+ defaultLaps: number;
539
+ cupId: string;
540
+ cupOrder: number;
541
+ musicSourcePath: string;
542
+ finalLapMusicSourcePath: string;
543
+ Is_Dirt_Track: boolean;
544
+ isRainbowRoad: boolean;
545
+ minimapImageUrl: string;
546
+ playerMaxSpeed: number;
547
+ playerBoostSpeed: number;
548
+ aiBoostSpeed: number;
549
+ aiTurnSpeedDivider: number;
550
+ constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
551
+ protected awake(): void;
552
+ private readProperties;
553
+ }
104
554
  declare abstract class KartVolume extends ScriptComponent {
105
555
  protected readProperties(names: string[]): void;
106
556
  }
@@ -121,6 +571,7 @@ export declare class KartAntiGravityExitVolume extends KartVolume {
121
571
  export declare class KartGliderVolume extends KartVolume {
122
572
  glideAngle: number;
123
573
  glideAngleX: number;
574
+ angleOnly: boolean;
124
575
  protected awake(): void;
125
576
  }
126
577
  export declare class KartGliderPanel extends KartVolume {
@@ -155,6 +606,80 @@ export declare class KartDirtSurface extends KartVolume {
155
606
  maxSpeed: number;
156
607
  protected awake(): void;
157
608
  }
609
+ export declare class KartWaypointDriver extends ScriptComponent {
610
+ static readonly DRIFT_LEFT_TAG: string;
611
+ static readonly DRIFT_RIGHT_TAG: string;
612
+ static readonly START_BOOST_HOLD_SECONDS: number;
613
+ static readonly RESCUE_GATES_BACK: number;
614
+ static readonly STUCK_RESPAWN_LIFT: number;
615
+ static readonly STUCK_PROGRESS_METERS: number;
616
+ static readonly DRIFT_ENTRY_STEERING_MARGIN: number;
617
+ static readonly MIN_AIM_DISTANCE_METERS: number;
618
+ turnSpeedDivider: number;
619
+ normalMaxSpeed: number;
620
+ rubberBandMaxSpeed: number;
621
+ rubberBandCheckpointLead: number;
622
+ driftMinForwardSpeed: number;
623
+ startBoostChance: number;
624
+ autopilot: boolean;
625
+ autopilotSpeed: number;
626
+ rubberBandReference: (() => number | null) | null;
627
+ stuckRecoverySeconds: number;
628
+ lineLookAheadMeters: number;
629
+ randomSource: () => number;
630
+ private kart;
631
+ private lapCounter;
632
+ private paths;
633
+ private currentPathIndex;
634
+ private currentNodeIndex;
635
+ private smoothedError;
636
+ private wasDriftRequested;
637
+ private goesForStartBoost;
638
+ private stuckSeconds;
639
+ private closestGateDistance;
640
+ private watchedGate;
641
+ private lastPassedGate;
642
+ private lastRecoveryTarget;
643
+ private wedgeAnchor;
644
+ private wedgeSkipsObstacle;
645
+ private wasAutoDriving;
646
+ private readonly steeringTarget;
647
+ private triggerObserver;
648
+ constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
649
+ protected awake(): void;
650
+ protected start(): void;
651
+ protected update(): void;
652
+ protected destroy(): void;
653
+ setPaths(paths: BABYLON.TransformNode[][], startPathIndex: number): void;
654
+ resumeAt(pathIndex: number, nodeIndex: number): void;
655
+ onLapCompleted(): void;
656
+ getCurrentNode(): BABYLON.TransformNode | null;
657
+ getCurrentNodeIndex(): number;
658
+ getCurrentPathIndex(): number;
659
+ setLapCounter(lapCounter: KartLapCounter): void;
660
+ driveFrame(deltaSeconds: number): void;
661
+ private onGateEntered;
662
+ private tickStuckRecovery;
663
+ private respawnOnPath;
664
+ private placementForRescue;
665
+ private placementAtNextCheckpoint;
666
+ private placementBeforeFinishLine;
667
+ private static nearestGateIndex;
668
+ private followAutoDrive;
669
+ private isKartAutoDriving;
670
+ private resumeAheadOfKart;
671
+ private skipToNextGate;
672
+ private resetStuckWatch;
673
+ private getCurrentPath;
674
+ private updateSpeedCap;
675
+ private computeSteering;
676
+ private aimPoint;
677
+ private canDrift;
678
+ private driftEntrySteering;
679
+ private driftSideOf;
680
+ private computeThrottle;
681
+ private getRace;
682
+ }
158
683
  export type KartAudioGroup = "engine" | "drift" | "boost" | "hop" | "trick" | "glider" | "impact" | "start" | "item" | "race" | "hover" | "results";
159
684
  export interface IKartVoiceSlot {
160
685
  id: string;
@@ -186,6 +711,22 @@ export interface IKartVoiceRota {
186
711
  }
187
712
  export declare const KART_VOICE_ROTAS: IKartVoiceRota[];
188
713
  export declare function buildKartVoiceSlots(counts?: any): IKartVoiceSlot[];
714
+ export type KartVoiceSet = "player" | "opponent";
715
+ export interface IKartClipValues {
716
+ volume?: number;
717
+ loop?: boolean;
718
+ pitch?: number;
719
+ spatialblend?: number;
720
+ rolloffmode?: string;
721
+ mindistance?: number;
722
+ maxdistance?: number;
723
+ }
724
+ export interface IKartClipDescriptor extends IKartClipValues {
725
+ filename: string;
726
+ name?: string;
727
+ length?: number;
728
+ type?: string;
729
+ }
189
730
  export interface IKartAudioVoice {
190
731
  play(): void;
191
732
  playDelayed(delaySeconds: number): void;
@@ -238,17 +779,57 @@ export declare class KartClipVoice implements IKartAudioVoice {
238
779
  private playing;
239
780
  private playCount;
240
781
  private lastDelay;
241
- constructor(source: any, duration?: number);
782
+ private stopCount;
783
+ private started;
784
+ private seekCount;
785
+ private clipLoopPoints;
786
+ private clipLoopRequested;
787
+ private levelScale;
788
+ private readonly clipUrl;
789
+ constructor(source: any, duration?: number, clipUrl?: string);
242
790
  play(): void;
243
791
  playDelayed(delaySeconds: number): void;
244
792
  stop(): void;
793
+ isStarted(): boolean;
794
+ useClipLoopPoints(): void;
795
+ getClipLoop(): number[];
796
+ seek(offsetSeconds: number, crossfadeSeconds: number): boolean;
797
+ getSeekCount(): number;
245
798
  isPlaying(): boolean;
246
799
  advance(dt: number): void;
247
800
  setPitch(value: number): void;
248
801
  setVolume(value: number): void;
802
+ setLevelScale(scale: number): void;
803
+ getLevelScale(): number;
249
804
  dispose(): void;
250
805
  getPlayCount(): number;
251
806
  getLastDelay(): number;
807
+ getSource(): any;
808
+ private watchStart;
809
+ private stopSource;
810
+ private getStaticSound;
811
+ private soundingSeconds;
812
+ private applyClipLoopPoints;
813
+ private getClipUrl;
814
+ private getClipDuration;
815
+ private static RampInstance;
816
+ }
817
+ export declare class KartClipLoopPoints {
818
+ private static readonly cache;
819
+ static Load(url: string): Promise<number[]>;
820
+ static Parse(bytes: ArrayBuffer): number[];
821
+ private static ChunkId;
822
+ }
823
+ export declare class KartEnginePlayhead {
824
+ private unityTime;
825
+ private voiceTime;
826
+ private advancing;
827
+ restart(): void;
828
+ step(deltaSeconds: number, pitch: number, band: number, rate: number, loop: number[], voiceRunning: boolean): boolean;
829
+ markSeeked(): void;
830
+ getTime(): number;
831
+ getVoiceTime(): number;
832
+ static Wrap(time: number, loop: number[]): number;
252
833
  }
253
834
  export declare class KartManagedVoice implements IKartAudioVoice {
254
835
  private readonly soundName;
@@ -270,8 +851,22 @@ export declare class KartManagedVoice implements IKartAudioVoice {
270
851
  getLastDelay(): number;
271
852
  getSoundName(): string;
272
853
  }
854
+ export declare class KartMutedVoice implements IKartAudioVoice {
855
+ play(): void;
856
+ playDelayed(_delaySeconds: number): void;
857
+ stop(): void;
858
+ isPlaying(): boolean;
859
+ setPitch(_value: number): void;
860
+ setVolume(_value: number): void;
861
+ advance(_dt: number): void;
862
+ dispose(): void;
863
+ getPlayCount(): number;
864
+ getLastDelay(): number;
865
+ }
273
866
  export interface IKartAudioTarget {
867
+ transform?: BABYLON.TransformNode;
274
868
  getDriftState(): number;
869
+ getDriftHopCount?(): number;
275
870
  getDriftTime(): number;
276
871
  getDriftTierTimes?(): number[];
277
872
  getDriftDirection(): number;
@@ -288,12 +883,21 @@ export interface IKartAudioTarget {
288
883
  getGlidingTime?(): number;
289
884
  isGliderTrick?(): boolean;
290
885
  getLaunchCharge?(): number;
886
+ isRevvingOnGrid?(): boolean;
291
887
  isRaceCompleted?(): boolean;
888
+ isRaceStarted?(): boolean;
889
+ isRainbowRoad?: boolean;
890
+ isReverseSkidding?(): boolean;
891
+ hasStar?(): boolean;
892
+ isAutoDriving?(): boolean;
893
+ onKartHitObservable?: BABYLON.Observable<IKartHitEvent>;
894
+ onKartBumpObservable?: BABYLON.Observable<IKartBumpEvent>;
292
895
  }
293
896
  export declare class StandardKartAudio extends ScriptComponent {
294
897
  kart: IKartAudioTarget;
295
898
  audioEnabled: boolean;
296
899
  playKartSounds: boolean;
900
+ voiceSet: KartVoiceSet;
297
901
  driftAudioEnabled: boolean;
298
902
  engineAudioEnabled: boolean;
299
903
  boostAudioEnabled: boolean;
@@ -343,7 +947,9 @@ export declare class StandardKartAudio extends ScriptComponent {
343
947
  protected mutedVoices: Set<string>;
344
948
  protected mutedGroups: Set<string>;
345
949
  voiceSourceNames: any;
346
- voiceClips: any;
950
+ voiceClips: Record<string, IKartClipDescriptor>;
951
+ preferVoiceClips: string[];
952
+ voiceSlotsMuted: string[];
347
953
  voiceSoundNames: any;
348
954
  voiceTunings: any;
349
955
  voiceVolumes: any;
@@ -353,9 +959,13 @@ export declare class StandardKartAudio extends ScriptComponent {
353
959
  protected lastBoostGrantCount: number;
354
960
  protected lastChargeTier: number;
355
961
  protected engineTime: number;
962
+ protected enginePlayhead: KartEnginePlayhead;
356
963
  protected enginePitch: number;
964
+ protected idleLevel: number;
965
+ protected sceneEntryFinished: boolean;
357
966
  protected chargeRetriggerCount: number;
358
967
  protected lastDriftState: number;
968
+ protected lastDriftHopCount: number;
359
969
  protected lastJumpPanel: boolean;
360
970
  protected lastTricking: boolean;
361
971
  protected lastGrounded: boolean;
@@ -365,9 +975,15 @@ export declare class StandardKartAudio extends ScriptComponent {
365
975
  protected hopCount: number;
366
976
  protected trickVoiceCountFired: number;
367
977
  protected landCount: number;
978
+ protected lastStar: boolean;
979
+ protected lastAutoDriving: boolean;
980
+ protected kartHitObserver: BABYLON.Observer<IKartHitEvent>;
981
+ protected kartBumpObserver: BABYLON.Observer<IKartBumpEvent>;
982
+ protected sceneRevealed: boolean;
368
983
  protected awake(): void;
369
984
  protected start(): void;
370
985
  protected update(): void;
986
+ protected reveal(): void;
371
987
  protected destroy(): void;
372
988
  protected awakeAudioState(): void;
373
989
  protected initAudioState(): void;
@@ -376,13 +992,24 @@ export declare class StandardKartAudio extends ScriptComponent {
376
992
  static SlotDuration(slot: IKartVoiceSlot): number;
377
993
  protected tuneSlot(slot: IKartVoiceSlot): IKartVoiceSlot;
378
994
  protected resolveSlot(slot: IKartVoiceSlot): IKartAudioVoice;
379
- protected buildClipSource(slot: IKartVoiceSlot, clip: any): IKartAudioVoice;
995
+ protected resolveClipTier(slot: IKartVoiceSlot): IKartAudioVoice;
996
+ static ReadSlotList(value: unknown): string[];
997
+ static ClipDurationSeconds(slot: IKartVoiceSlot, clip: IKartClipDescriptor, looping: boolean): number;
998
+ static ClipLooping(slot: IKartVoiceSlot, clip: IKartClipDescriptor): boolean;
999
+ static AwakeNow(component: ScriptComponent): void;
1000
+ protected buildClipSource(slot: IKartVoiceSlot, clip: IKartClipDescriptor): IKartAudioVoice;
380
1001
  protected loadClipSource(source: any, filename: string): void;
381
1002
  protected bindVoiceAliases(): void;
382
1003
  protected collectRota(prefix: string): IKartAudioVoice[];
383
1004
  protected findChildNode(name: string): BABYLON.TransformNode;
1005
+ protected resolveKartRoot(): BABYLON.TransformNode;
384
1006
  protected forEachVoice(callback: (voice: IKartAudioVoice) => void): void;
385
1007
  protected updateAudioState(): void;
1008
+ protected subscribeKartEvents(): void;
1009
+ protected unsubscribeKartEvents(): void;
1010
+ protected tickReverseSkidAudio(): void;
1011
+ protected tickStarAudio(): void;
1012
+ protected tickBulletAudio(): void;
386
1013
  protected tickHopAudio(): void;
387
1014
  protected tickJumpPanelAudio(): void;
388
1015
  protected tickTrickAudio(): void;
@@ -390,12 +1017,33 @@ export declare class StandardKartAudio extends ScriptComponent {
390
1017
  protected tickImpactAudio(): void;
391
1018
  protected tickGliderAudio(): void;
392
1019
  protected tickStartAudio(): void;
1020
+ protected isStartRevHeld(): boolean;
393
1021
  protected tickDriftAudio(): void;
394
1022
  protected tickBoostAudio(): void;
1023
+ protected playRocketStartVoice(): void;
395
1024
  static SourceSpeaks(source: number): boolean;
396
1025
  protected checkIfPlaying(): boolean;
397
1026
  protected tickEngineAudio(dt: number): void;
1027
+ protected applyEngineBand(deltaSeconds: number, band: number, rate: number): void;
1028
+ protected useClipLoopPoints(): void;
1029
+ static EngineBand(voiceSet: KartVoiceSet, speed: number): number;
1030
+ protected tickIdleLevel(dt: number): void;
1031
+ protected hasSceneEntryFinished(): boolean;
1032
+ static EnginePitchTarget(boosting: boolean, gliding: boolean): number;
1033
+ static SynthEnginePitch(enginePitch: number, engineTime: number): number;
398
1034
  static EngineBandTime(speed: number, current: number): number;
1035
+ static OpponentEngineBandTime(speed: number, current: number): number;
1036
+ static NormalizeVoiceSet(value: any): KartVoiceSet;
1037
+ protected engineVolume(gliding: boolean): number;
1038
+ protected applyVoiceSetSpatial(): void;
1039
+ protected applyPlayerPerceivedLevels(): void;
1040
+ protected applyPlayerSlotLevel(slotId: string, voice: IKartAudioVoice): void;
1041
+ protected muteSynthsOnRiggedKart(): void;
1042
+ static RecordedLevelFactor(slotId: string): number;
1043
+ static PerceivedGain(source: any, distance: number): number;
1044
+ static UnityAttenuation(mode: string, distance: number, minimum: number, maximum: number): number;
1045
+ protected slotVolume(slotId: string): number;
1046
+ protected applySpatialRole(voice: IKartAudioVoice, spatialBlend: number): void;
399
1047
  getDriftSteerVoice(): IKartAudioVoice;
400
1048
  getDriftChargeVoice(): IKartAudioVoice;
401
1049
  getEngineVoice(): IKartAudioVoice;
@@ -405,6 +1053,8 @@ export declare class StandardKartAudio extends ScriptComponent {
405
1053
  getSoundCount(): number;
406
1054
  getEngineTime(): number;
407
1055
  getEnginePitch(): number;
1056
+ getIdleLevel(): number;
1057
+ setSceneEntryFinished(finished: boolean): void;
408
1058
  getHopVoice(): IKartAudioVoice;
409
1059
  getLandSkidVoice(): IKartAudioVoice;
410
1060
  getChassisVoice(): IKartAudioVoice;
@@ -430,6 +1080,9 @@ export declare class StandardKartAudio extends ScriptComponent {
430
1080
  setGroupEnabled(group: KartAudioGroup, enabled: boolean): void;
431
1081
  isGroupEnabled(group: KartAudioGroup): boolean;
432
1082
  playVoice(id: string, volumeScale?: number): boolean;
1083
+ isVoiceAllowed(id: string): boolean;
1084
+ protected revealAudioState(): void;
1085
+ protected isHeldBehindSplash(): boolean;
433
1086
  stopVoice(id: string): void;
434
1087
  isVoicePlaying(id: string): boolean;
435
1088
  playRota(prefix: string, volumeScale?: number): boolean;
@@ -479,6 +1132,8 @@ export declare class StandardKartCamera extends ScriptComponent {
479
1132
  heightOffset: number;
480
1133
  orig_pos: BABYLON.Vector3;
481
1134
  boost_pos: BABYLON.Vector3;
1135
+ cameraLocalPosition: BABYLON.Vector3;
1136
+ cameraLocalRotation: BABYLON.Quaternion;
482
1137
  defaultChildPitch: number;
483
1138
  antiGravityPosY: number;
484
1139
  antiGravityTailSeconds: number;
@@ -493,6 +1148,12 @@ export declare class StandardKartCamera extends ScriptComponent {
493
1148
  private readonly childTarget;
494
1149
  private readonly rigPosition;
495
1150
  private readonly childPosition;
1151
+ private readonly unitScale;
1152
+ private readonly cameraLocalMatrix;
1153
+ private readonly cameraWorldMatrix;
1154
+ private readonly cameraWorldPosition;
1155
+ private readonly cameraWorldRotation;
1156
+ private readonly cameraWorldScale;
496
1157
  protected awake(): void;
497
1158
  protected start(): void;
498
1159
  protected late(): void;
@@ -531,8 +1192,11 @@ export declare function approachRate(current: number, target: number, ratePerSec
531
1192
  export declare function approachPerStep(current: number, target: number, fractionPerStep: number, dt: number): number;
532
1193
  export declare function dampPerStep(value: number, factorPerStep: number, dt: number): number;
533
1194
  export declare const DRIFT_LATERAL_SLIP: number;
1195
+ export declare const DRIFT_MIN_SPEED: number;
534
1196
  export declare const JUMP_PANEL_DECAY_RATE: number;
535
1197
  export declare const JUMP_PANEL_THRUST: number;
1198
+ export declare const COMPUTER_JUMP_PANEL_THRUST: number;
1199
+ export declare const COMPUTER_DRIFT_SPEED_LOSS: number;
536
1200
  export declare const JUMP_PANEL_ROTATE_SECONDS: number;
537
1201
  export declare const JUMP_PANEL_ROTATE_RATE: number;
538
1202
  export declare const TRICK_MIN_SPEED: number;
@@ -544,14 +1208,32 @@ export declare const TRICK_FORCE_FLOOR: number;
544
1208
  export declare const TRICK_LANDING_BOOST: number;
545
1209
  export declare const GLIDER_TRICK_SPEED: number;
546
1210
  export declare const GLIDER_TRICK_OPEN_DELAY: number;
1211
+ export declare const FALL_RESCUE_MIN_SINK_SPEED: number;
1212
+ export declare const ANTI_GRAVITY_LOST_SECONDS: number;
1213
+ export declare const ANTI_GRAVITY_SEEK_DISTANCE: number;
1214
+ export declare const ANTI_GRAVITY_SEEK_SPEED: number;
1215
+ export declare const GROUND_MIN_NORMAL_Y: number;
1216
+ export declare const ANTI_GRAVITY_SURFACE_MIN_UP_DOT: number;
1217
+ export declare const ANTI_GRAVITY_SIDE_WALL_MAX_RIGHT_DOT: number;
1218
+ export declare const ANTI_GRAVITY_FOLD_MIN_UP_DOT: number;
1219
+ export declare const ANTI_GRAVITY_FOLD_MIN_TRAVEL_DOT: number;
1220
+ export declare const GLIDER_DEPLOY_MIN_UP: number;
1221
+ export declare const GLIDER_DEPLOY_MIN_ROAD_UP: number;
547
1222
  export declare const GLIDER_TRICK_PAYOUT_DELAY: number;
548
1223
  export declare const GLIDER_TRICK_BOOST: number;
549
1224
  export declare const GLIDER_ROTATE_STRENGTH: number;
550
1225
  export declare const COAST_MODEL_SETTLE_RATE: number;
551
1226
  export declare const UNITY_ACCEL_RATE: number;
1227
+ export declare const BRAKE_FRACTION_PER_STEP: number;
1228
+ export declare const BRAKE_REVERSE_SPEED_DIVISOR: number;
1229
+ export declare const BRAKE_REVERSE_ROTATE_STRENGTH: number;
1230
+ export declare const KART_DRIFT_BRAKE_FLOOR_FRACTION: number;
1231
+ export declare const KART_DRIFT_BRAKE_RATE: number;
1232
+ export declare function driftBrakeSpeed(currentSpeed: number, maxSpeed: number, floorFraction: number, ratePerSecond: number, dt: number): number;
552
1233
  export declare const KART_BOOST_ACCEL_RATE: number;
553
1234
  export declare const KART_DRIFT_TIERS_UNITY: number[];
554
1235
  export declare const KART_DRIFT_TIERS_TUNED: number[];
1236
+ export declare const KART_DRIFT_TIER_BOOST_SECONDS_UNITY: number[];
555
1237
  export declare const GLIDER_PITCH_RANGE: number;
556
1238
  export declare const GLIDER_PITCH_CLAMP: number;
557
1239
  export declare const GLIDER_PITCH_RATE: number;
@@ -562,6 +1244,8 @@ export declare const GLIDER_ROLL_RANGE: number;
562
1244
  export declare const GLIDER_ROLL_RATE: number;
563
1245
  export declare const GLIDER_ROLL_SMOOTH_RATE: number;
564
1246
  export declare const GLIDER_CLOSE_CONFIRM: number;
1247
+ export declare const GLIDER_TRICK_FACE_SECONDS: number;
1248
+ export declare const GLIDER_TRICK_CLOSE_CONFIRM: number;
565
1249
  export declare const GLIDER_LANDING_SECONDS: number;
566
1250
  export declare const GLIDER_PANEL_BOOST: number;
567
1251
  export declare const GLIDER_IMPULSE_SECONDS: number;
@@ -576,6 +1260,11 @@ export declare const WHEEL_STEER_RATE: number;
576
1260
  export declare const ANTIGRAVITY_SURFACE_TAIL: number;
577
1261
  export declare const WHEEL_STEER_FREEZE_RATE: number;
578
1262
  export declare const WHEEL_SPIN_SPEED_SWITCH: number;
1263
+ export declare const WHEEL_SPIN_SLOW_FACTOR: number;
1264
+ export declare const WHEEL_ACCELERATE_BACKWARDS_PASSES: number;
1265
+ export declare const WHEEL_ACCELERATE_BACKWARDS_FRONT_FACTOR: number;
1266
+ export declare const WHEEL_ACCELERATE_BACKWARDS_REAR_SOURCE: number;
1267
+ export declare const WHEEL_SPIN_RADIANS_PER_UNIT: number;
579
1268
  export declare const WHEEL_ANTIGRAVITY_RATE: number;
580
1269
  export declare const WHEEL_ANTIGRAVITY_ANGLE: number;
581
1270
  export declare const WHEEL_ANTIGRAVITY_SPREAD: number;
@@ -598,10 +1287,39 @@ export declare const KART_HOP_TRACK: IKartKeyframe[];
598
1287
  export declare const KART_SHAKE_TRACK: IKartKeyframe[];
599
1288
  export declare const KART_ANTIGRAVITY_TRACK: IKartKeyframe[];
600
1289
  export declare const KART_IDLE_TRACK: IKartKeyframe[];
1290
+ export declare const KART_IDLE_LOOP_SECONDS: number;
1291
+ export declare const KART_START_TURBO_FRAME_RATE: number;
1292
+ export declare const KART_START_TURBO_STATE_SPEED: number;
1293
+ export declare const KART_START_TURBO_LIFT: number[];
1294
+ export declare const KART_START_TURBO_SWAY: number[];
1295
+ export declare const KART_START_TURBO_YAW: number[];
1296
+ export interface IKartStartTurboPose {
1297
+ lift: number;
1298
+ sway: number;
1299
+ yaw: number;
1300
+ }
1301
+ export declare function sampleStartTurboPose(time: number, result: IKartStartTurboPose): IKartStartTurboPose;
1302
+ export declare const GRID_REV_WHEEL_SPIN_SOURCE: number;
1303
+ export declare const ROCKET_START_SMOOTHING_PASSES: number;
1304
+ export declare const ROCKET_START_SMOOTHING_STEP_SECONDS: number;
1305
+ export declare function rocketStartLaunchSpeed(currentSpeed: number, boostSpeed: number): number;
1306
+ export declare const KART_DRIFT_DUST_SECONDS: number;
1307
+ export declare function driftDustWindowSeconds(firstSparkTierSeconds: number): number;
601
1308
  export declare const KART_UNDERWATER_ROLL_DEGREES: number;
1309
+ export declare const KART_UNDERWATER_DRIFT_LEFT_PARAMETER: string;
1310
+ export declare const KART_UNDERWATER_DRIFT_RIGHT_PARAMETER: string;
602
1311
  export declare const KART_UNDERWATER_OFFSET: number;
603
1312
  export declare const KART_UNDERWATER_LIFT: number;
604
1313
  export declare const KART_UNDERWATER_BLEND: number;
1314
+ export declare const KART_DEPTH_WATER_NODE_NAME: string;
1315
+ export declare const KART_WATER_VERTICAL_DAMPING: number;
1316
+ export declare const KART_PROPELLER_NODE_NAME: string;
1317
+ export declare const KART_PROPELLER_SPIN_OFFSET: number;
1318
+ export declare const KART_PROPELLER_RACE_MIN_DEGREES: number;
1319
+ export declare const KART_PROPELLER_RACE_MAX_DEGREES: number;
1320
+ export declare const KART_PROPELLER_FINISH_MIN_DEGREES: number;
1321
+ export declare const KART_PROPELLER_FINISH_MAX_DEGREES: number;
1322
+ export declare function propellerStepDegrees(realCurrentSpeed: number, currentSpeed: number, raceCompleted: boolean): number;
605
1323
  export declare const KART_ANIMATOR_TRIGGERS: string[];
606
1324
  export interface IKartSpeedCapState {
607
1325
  grounded: boolean;
@@ -627,7 +1345,30 @@ export declare enum EKartBoostSource {
627
1345
  JumpPanel = 4,
628
1346
  GliderExit = 5,
629
1347
  GliderTrick = 6,
630
- DriftPayout = 7
1348
+ DriftPayout = 7,
1349
+ Item = 8
1350
+ }
1351
+ export interface IKartAutoDriveOptions {
1352
+ speed: number;
1353
+ seconds: number;
1354
+ exitSpeed: number;
1355
+ targetProvider: () => BABYLON.Vector3;
1356
+ }
1357
+ export interface IKartHitEvent {
1358
+ kind: EKartHitKind;
1359
+ kart: StandardKartController;
1360
+ }
1361
+ export interface IKartBumpPartner {
1362
+ root: BABYLON.TransformNode;
1363
+ kart: StandardKartController | null;
1364
+ remote: KartBumpTarget | null;
1365
+ }
1366
+ export interface IKartBumpEvent {
1367
+ kart: StandardKartController;
1368
+ other: BABYLON.TransformNode;
1369
+ side: number;
1370
+ otherIsRemote: boolean;
1371
+ starContact: boolean;
631
1372
  }
632
1373
  export declare enum EKartDriftState {
633
1374
  None = 0,
@@ -641,6 +1382,12 @@ export interface IKartVehicleProfile {
641
1382
  antiGravityEnabled: boolean;
642
1383
  tricksEnabled: boolean;
643
1384
  jumpPanelsEnabled: boolean;
1385
+ handItemsEnabled: boolean;
1386
+ propellerEnabled: boolean;
1387
+ tiltEnabled: boolean;
1388
+ bulletBillEnabled: boolean;
1389
+ useBulletBillModel: boolean;
1390
+ trailingItemsEnabled: boolean;
644
1391
  }
645
1392
  export type KartVehicleProfileName = "kart" | "arcadeCar";
646
1393
  export declare class StandardKartController extends ScriptComponent {
@@ -649,16 +1396,33 @@ export declare class StandardKartController extends ScriptComponent {
649
1396
  desiredMaxSpeed: number;
650
1397
  boost_speed: number;
651
1398
  boostAccelRate: number;
1399
+ driftBrakeRate: number;
1400
+ driftBrakeFloorFraction: number;
652
1401
  driftTierTimes: number[];
1402
+ driftTierBoostSeconds: number[];
653
1403
  desired_rotate_strength: number;
1404
+ steeringYawRateOverride: number;
1405
+ computerDriven: boolean;
654
1406
  sphereRadius: number;
655
1407
  sphereCenter: BABYLON.Vector3;
656
1408
  chassisMass: number;
657
1409
  chassisFriction: number;
658
1410
  modelNodeName: string;
659
1411
  wheelNodeNames: string[];
1412
+ wheelSpinNodeNames: string[];
1413
+ wheelSteerNodeNames: string[];
660
1414
  steeringWheelNodeName: string;
661
1415
  armNodeNames: string[];
1416
+ raycastNodeName: string;
1417
+ kartAnimatorNodeName: string;
1418
+ hitAnimatorNodeName: string;
1419
+ driverAnimatorNodeName: string;
1420
+ chassisAnimatorNodeName: string;
1421
+ gliderNodeName: string;
1422
+ headLookNodeName: string;
1423
+ hasHeldItem: boolean;
1424
+ Is_Dirt_Track: boolean;
1425
+ isRainbowRoad: boolean;
662
1426
  raycastOffset: BABYLON.Vector3;
663
1427
  groundRayDist: number;
664
1428
  groundAlignRate: number;
@@ -669,13 +1433,19 @@ export declare class StandardKartController extends ScriptComponent {
669
1433
  vehicleProfile: KartVehicleProfileName | null;
670
1434
  hopEnabled: boolean;
671
1435
  gliderEnabled: boolean;
672
- enableGliderPhysics: boolean;
1436
+ arcadeGlider: boolean;
673
1437
  gliderSlopeMin: number;
674
1438
  gliderSlopeFloor: number;
675
1439
  gliderSinkRate: number;
676
1440
  antiGravityEnabled: boolean;
677
1441
  tricksEnabled: boolean;
678
1442
  jumpPanelsEnabled: boolean;
1443
+ handItemsEnabled: boolean;
1444
+ propellerEnabled: boolean;
1445
+ tiltEnabled: boolean;
1446
+ bulletBillEnabled: boolean;
1447
+ useBulletBillModel: boolean;
1448
+ trailingItemsEnabled: boolean;
679
1449
  bodyLeanAngle: number;
680
1450
  antiGravityExitRateX: number;
681
1451
  antiGravityExitRateYZ: number;
@@ -712,6 +1482,7 @@ export declare class StandardKartController extends ScriptComponent {
712
1482
  protected exitRotateY: boolean;
713
1483
  protected exitRotateZ: boolean;
714
1484
  protected exitRotateTarget: BABYLON.Vector3;
1485
+ private exitRotateVolume;
715
1486
  private exitEuler;
716
1487
  private exitQuaternion;
717
1488
  private jumpRotation;
@@ -721,6 +1492,7 @@ export declare class StandardKartController extends ScriptComponent {
721
1492
  protected yawRate: number;
722
1493
  protected slipAngle: number;
723
1494
  protected inputThrottle: number;
1495
+ protected inputBraking: boolean;
724
1496
  protected inputSteering: number;
725
1497
  protected inputDrifting: boolean;
726
1498
  protected inputTrick: boolean;
@@ -757,10 +1529,8 @@ export declare class StandardKartController extends ScriptComponent {
757
1529
  protected gliderLanded: boolean;
758
1530
  protected max_speed: number;
759
1531
  protected Boost: boolean;
760
- protected StarPowerUp: boolean;
761
1532
  protected cancelAddforceDown: boolean;
762
- protected airForceVolume: BABYLON.TransformNode;
763
- private airForceDirection;
1533
+ protected airForceVolumes: BABYLON.TransformNode[];
764
1534
  protected wheelNodes: BABYLON.TransformNode[];
765
1535
  protected wheelRestPositions: BABYLON.Vector3[];
766
1536
  protected wheelRestRotations: BABYLON.Quaternion[];
@@ -773,16 +1543,20 @@ export declare class StandardKartController extends ScriptComponent {
773
1543
  protected steeringWheelNode: BABYLON.TransformNode;
774
1544
  protected wheelSteer: number;
775
1545
  protected wheelSpin: number;
1546
+ protected wheelSpinNodes: BABYLON.TransformNode[];
1547
+ protected wheelSpinRests: BABYLON.Quaternion[];
1548
+ protected wheelSteerNodes: BABYLON.TransformNode[];
1549
+ protected wheelSteerRests: BABYLON.Quaternion[];
776
1550
  protected wheelAntiGravity: number;
777
1551
  private wheelSpinRotation;
778
1552
  private wheelSteerRotation;
779
1553
  private wheelPoseRotation;
780
1554
  private wheelCompose;
781
- protected spunOut: boolean;
782
1555
  protected onDirt: boolean;
783
1556
  protected awake(): void;
784
1557
  protected start(): void;
785
1558
  protected update(): void;
1559
+ protected late(): void;
786
1560
  protected step(): void;
787
1561
  protected fixed(): void;
788
1562
  protected destroy(): void;
@@ -795,8 +1569,10 @@ export declare class StandardKartController extends ScriptComponent {
795
1569
  applyVehicleProfile(profile: KartVehicleProfileName | Partial<IKartVehicleProfile>): void;
796
1570
  getVehicleProfile(): IKartVehicleProfile;
797
1571
  getVehicleProfileName(): KartVehicleProfileName | null;
1572
+ private matchesVehicleProfile;
798
1573
  protected enterAntiGravityVolume(volume: BABYLON.TransformNode): void;
799
1574
  protected exitAntiGravity(volume: BABYLON.TransformNode): void;
1575
+ private leaveAntiGravityExitVolume;
800
1576
  protected tickAntiGravity(dt: number): void;
801
1577
  protected applyAntiGravityExitRotation(dt: number): void;
802
1578
  private readVolumeField;
@@ -818,11 +1594,16 @@ export declare class StandardKartController extends ScriptComponent {
818
1594
  protected tickTrick(dt: number): void;
819
1595
  protected landTrick(): void;
820
1596
  protected enterGliderSection(volume: BABYLON.TransformNode): void;
821
- protected openGlider(): void;
1597
+ protected canDeployGlider(): boolean;
1598
+ protected deployGlider(): void;
1599
+ protected startGliderFlight(): void;
1600
+ protected openGliderCanopy(): void;
822
1601
  protected tickGlider(dt: number): void;
823
1602
  protected gliderSinkTarget(): number;
824
1603
  protected gliderVerticalFor(bodyY: number, dt: number): number;
825
1604
  protected applyGliderAttitude(dt: number): void;
1605
+ protected isGliderOnSurface(): boolean;
1606
+ protected seedGliderAttitude(): void;
826
1607
  protected closeGlider(): void;
827
1608
  protected closeGliderImmediate(): void;
828
1609
  protected exitGliderPanel(): void;
@@ -830,18 +1611,34 @@ export declare class StandardKartController extends ScriptComponent {
830
1611
  protected onBoostPad(volume: BABYLON.TransformNode): void;
831
1612
  protected setCancelDownForce(active: boolean): void;
832
1613
  protected applyAirForce(dt: number): void;
1614
+ protected applyAirForceVolume(volume: BABYLON.TransformNode, dt: number): void;
833
1615
  protected updateWheels(dt: number): void;
1616
+ private rollingWheelSpinSource;
1617
+ private addRearWheelSpin;
834
1618
  protected applyWheelPose(): void;
835
1619
  setWheelNodes(wheels: BABYLON.TransformNode[], steeringWheel?: BABYLON.TransformNode): void;
1620
+ setWheelDriveNodes(spinNodes: BABYLON.TransformNode[], steerNodes: BABYLON.TransformNode[]): void;
1621
+ private static CaptureRestRotation;
836
1622
  setArmNodes(arms: BABYLON.TransformNode[]): void;
837
1623
  protected findRigNode(name: string): BABYLON.TransformNode;
838
1624
  protected onSurfaceContact(other: BABYLON.TransformNode): void;
839
1625
  private ensureChassisBody;
840
1626
  protected updateKartState(): void;
841
1627
  private readonly rayResult;
1628
+ private groundBody;
842
1629
  protected overAntiGravitySurface: boolean;
843
1630
  protected overOrdinarySurface: boolean;
844
1631
  surfaceAntiGravity: boolean;
1632
+ endAntiGravityWithRoad: boolean;
1633
+ private readonly antiGravityRoadWatch;
1634
+ private readonly antiGravityInvertedWatch;
1635
+ private antiGravityRoadEndSeconds;
1636
+ private lastAntiGravityEndPosition;
1637
+ protected tickAntiGravityRoadEnd(dt: number): void;
1638
+ private tickAntiGravityInvertedRecovery;
1639
+ protected endAntiGravityAtRoadEnd(): void;
1640
+ private recordAntiGravityEnd;
1641
+ protected isAntiGravityReentryGuarded(): boolean;
845
1642
  protected antiGravityFromSurface: boolean;
846
1643
  protected antiGravitySurfaceTail: number;
847
1644
  private readonly driftRayResult;
@@ -865,6 +1662,7 @@ export declare class StandardKartController extends ScriptComponent {
865
1662
  private readonly yawRotation;
866
1663
  private readonly steerState;
867
1664
  protected steer(dt: number): void;
1665
+ protected applyComputerDrift(dt: number): void;
868
1666
  protected applyDriftModelYaw(hand: number, dt: number): void;
869
1667
  protected applyDriftLateralForce(hand: number): void;
870
1668
  protected applyDriftDownforce(): void;
@@ -883,20 +1681,46 @@ export declare class StandardKartController extends ScriptComponent {
883
1681
  protected payDriftBoost(tier: number): void;
884
1682
  chargeLaunch(dt: number): void;
885
1683
  releaseLaunch(): boolean;
1684
+ private playRocketStart;
1685
+ protected rearWheelRevSpin: number;
1686
+ protected wasRevvingOnGrid: boolean;
1687
+ protected startTurboOwnedByAnimator: boolean;
1688
+ protected startTurboTime: number;
1689
+ private readonly startTurboPose;
1690
+ isRevvingOnGrid(): boolean;
1691
+ protected updateGridRev(dt: number): void;
886
1692
  protected previousDrifting: boolean;
1693
+ protected driftHopCount: number;
887
1694
  protected driftPressLatched: boolean;
888
1695
  protected driftLatchTimer: number;
889
1696
  protected drift(dt: number): void;
1697
+ protected canHop(): boolean;
1698
+ protected hop(): void;
890
1699
  protected canEnterDrift(): boolean;
891
1700
  protected canHoldDrift(): boolean;
1701
+ protected mustLoseDrift(): boolean;
892
1702
  protected enterDrift(): void;
893
1703
  protected stopDrift(payout: boolean): void;
894
1704
  protected onDriftEntry(): void;
1705
+ private playHop;
895
1706
  protected onDriftExit(): void;
896
1707
  protected modelNode: BABYLON.TransformNode;
897
1708
  private readonly modelRestPosition;
898
- protected animator: any;
899
- protected animatorOwnsDriftPose(): boolean;
1709
+ private readonly modelRestRotation;
1710
+ private readonly modelPoseOffset;
1711
+ private modelPoseYaw;
1712
+ private modelPoseRoll;
1713
+ protected animator: Animator;
1714
+ protected hitAnimator: Animator;
1715
+ protected driverAnimator: Animator;
1716
+ protected gliderAnimator: Animator;
1717
+ protected chassisAnimator: Animator;
1718
+ protected setGliderCanopy(open: boolean): void;
1719
+ protected driverAnimation: KartDriverAnimation;
1720
+ setDriverPathError(pathError: number): void;
1721
+ protected showsHeldItem(): boolean;
1722
+ protected driverAnimationFrame(): IDriverAnimationFrame;
1723
+ getRigAnimators(): Animator[];
900
1724
  protected animatorOwnsWheels(): boolean;
901
1725
  protected driftYaw: number;
902
1726
  protected hopTime: number;
@@ -905,18 +1729,47 @@ export declare class StandardKartController extends ScriptComponent {
905
1729
  protected idleTime: number;
906
1730
  protected underwaterBlend: number;
907
1731
  protected underwaterHand: number;
908
- protected wasAtRest: boolean;
1732
+ protected animatorOwnsUnderwaterDrift: boolean;
1733
+ private underwaterDriftAnimators;
1734
+ private underwaterDriftLeftWritten;
1735
+ private underwaterDriftRightWritten;
909
1736
  protected wasAntiGravity: boolean;
910
1737
  private readonly modelRotation;
911
1738
  protected fireTrigger(name: string): boolean;
1739
+ protected bindUnderwaterDriftAnimators(): void;
1740
+ protected isUnderwaterDriftSide(side: number): boolean;
1741
+ protected currentDriftHand(): number;
1742
+ protected updateUnderwaterDriftParameters(): void;
912
1743
  protected updateModelMotion(dt: number): void;
1744
+ protected advanceUnderwaterPose(deltaSeconds: number): void;
1745
+ protected composeModelPose(): void;
913
1746
  private tickModelTriggers;
914
1747
  getDriftYaw(): number;
915
1748
  getModelLift(): number;
916
1749
  getModelNode(): BABYLON.TransformNode;
1750
+ get modelLocalPosition(): BABYLON.Vector3;
1751
+ get modelLocalRotation(): BABYLON.Quaternion;
917
1752
  protected FellInWater: boolean;
918
1753
  protected outOfBounds: boolean;
919
1754
  PlayerBeingMoved: boolean;
1755
+ protected IN_WATER: boolean;
1756
+ protected depthWaterVolumes: BABYLON.TransformNode[];
1757
+ protected propellerNode: BABYLON.TransformNode;
1758
+ protected propellerResolved: boolean;
1759
+ protected propellerShown: boolean;
1760
+ private readonly waterDampingUp;
1761
+ isInWater(): boolean;
1762
+ hasUnderwaterHandling(): boolean;
1763
+ getPropellerNode(): BABYLON.TransformNode;
1764
+ rescanPropeller(): void;
1765
+ protected enterDepthWater(volume: BABYLON.TransformNode): void;
1766
+ protected exitDepthWater(volume: BABYLON.TransformNode): void;
1767
+ protected resetDepthWater(): void;
1768
+ protected applyWaterDamping(dt: number): void;
1769
+ protected tickPropeller(dt: number): void;
1770
+ private updatePropellerVisibility;
1771
+ private resolvePropeller;
1772
+ private showPropeller;
920
1773
  RACE_STARTED: boolean;
921
1774
  RACE_COMPLETED: boolean;
922
1775
  raceStopDrift(): void;
@@ -926,6 +1779,41 @@ export declare class StandardKartController extends ScriptComponent {
926
1779
  private readonly respawnRotation;
927
1780
  respawnTo(position: BABYLON.Vector3, rotation: BABYLON.Quaternion, immediate?: boolean): void;
928
1781
  isRespawning(): boolean;
1782
+ airborneLevelRate: number;
1783
+ private probeMissSeconds;
1784
+ rescueDelaySeconds: number;
1785
+ rescueLiftSpeed: number;
1786
+ fallRescueSeconds: number;
1787
+ flippedRescueSeconds: number;
1788
+ stalledRescueSeconds: number;
1789
+ private readonly stallLastPosition;
1790
+ private stallPositionKnown;
1791
+ rescuePlacement: ((kart: StandardKartController, reason: EKartRescueReason, departure: BABYLON.Vector3) => IKartRescuePlacement | null) | null;
1792
+ readonly onKartRescuedObservable: BABYLON.Observable<IKartRescueEvent>;
1793
+ private readonly recoveryWatch;
1794
+ private contactSeconds;
1795
+ private static readonly CONTACT_SUPPORT_SECONDS;
1796
+ private readonly recoveryVelocity;
1797
+ private rescueReason;
1798
+ private rescueHeld;
1799
+ private lastGroundedAntiGravity;
1800
+ private courseMemory;
1801
+ private static courseMemoryKeyCount;
1802
+ private readonly courseMemoryKey;
1803
+ private readonly lastGroundedPosition;
1804
+ private readonly lastGroundedUp;
1805
+ private readonly rescueLiftStep;
1806
+ requestRescue(reason: EKartRescueReason): boolean;
1807
+ getRescueReason(): EKartRescueReason | null;
1808
+ setRescueFloor(floorY: number | null): void;
1809
+ getLastGroundedPosition(): BABYLON.Vector3;
1810
+ getLastGroundedUp(): BABYLON.Vector3;
1811
+ private holdForRescue;
1812
+ private placeRescuedKart;
1813
+ private restoreAntiGravityAt;
1814
+ private getCourseMemory;
1815
+ private tickRecoveryWatch;
1816
+ private measureStallSpeed;
929
1817
  stuckRecoveryDelay: number;
930
1818
  stuckRecoveryLift: number;
931
1819
  protected stuckTimer: number;
@@ -940,20 +1828,133 @@ export declare class StandardKartController extends ScriptComponent {
940
1828
  isPlayerBeingMoved(): boolean;
941
1829
  private performRespawnTeleport;
942
1830
  private tickRespawn;
1831
+ private finishRescue;
943
1832
  protected onRecoveryVolume(tag: string): void;
944
1833
  setRespawnPoint(position: BABYLON.Vector3, rotation: BABYLON.Quaternion): void;
945
1834
  private commitVelocity;
946
1835
  private updateGroundRayDistance;
1836
+ protected isRoadNormal(hitNormal: BABYLON.Vector3): boolean;
947
1837
  private probeGround;
1838
+ protected latchAntiGravityOnBank(hitNormal: BABYLON.Vector3, hitBody: BABYLON.PhysicsBody | null | undefined): boolean;
948
1839
  private probeDriftEntryGround;
949
1840
  private alignToGroundNormal;
1841
+ protected levelAirborneAttitude(dt: number): void;
1842
+ protected seekAntiGravitySurface(deltaSeconds: number): void;
950
1843
  protected stepKartState(): void;
951
1844
  protected fixedKartState(): void;
952
1845
  protected destroyKartState(): void;
953
- drive(throttle: number, steering: number, drifting: boolean, trick?: boolean, pitch?: number): void;
1846
+ drive(throttle: number, steering: number, drifting: boolean, trick?: boolean, pitch?: number, braking?: boolean): void;
1847
+ readonly onKartHitObservable: BABYLON.Observable<IKartHitEvent>;
1848
+ readonly onKartBumpObservable: BABYLON.Observable<IKartBumpEvent>;
1849
+ readonly externalVelocity: BABYLON.Vector3;
1850
+ private readonly hitState;
1851
+ private activePushes;
1852
+ private wallBounceSpeed;
1853
+ private readonly wallBounceNormal;
1854
+ private readonly wallTravelDirection;
1855
+ private readonly wallEaseNormal;
1856
+ private readonly wallEaseInverseRotation;
1857
+ private readonly wallEaseRotation;
1858
+ private readonly surfaceContacts;
1859
+ private surfaceContactObserver;
1860
+ private readonly contactNormalTowardKart;
1861
+ private sweepShape;
1862
+ private sweepLayerMask;
1863
+ private readonly sweepTravel;
1864
+ private readonly sweepStart;
1865
+ private readonly sweepEnd;
1866
+ private readonly sweepInputResult;
1867
+ private readonly sweepHitResult;
1868
+ private ledgeAheadMountable;
1869
+ private blockedAheadBody;
1870
+ private readonly ledgeTouchTravelDirection;
1871
+ private readonly ledgeRoomStart;
1872
+ private readonly ledgeRoomEnd;
1873
+ private readonly ledgeRoomInputResult;
1874
+ private readonly ledgeRoomHitResult;
1875
+ private committedNoseSpeed;
1876
+ private readonly movingRoadVelocity;
1877
+ private contactClockSeconds;
1878
+ private readonly wallTouchSeconds;
1879
+ private bumpCooldownRemaining;
1880
+ private antiGravityBumpBoostCountdown;
1881
+ private autoDrive;
1882
+ private autoDriveRemaining;
1883
+ private hurtActive;
1884
+ private reverseSkidArmed;
1885
+ private reverseSkidActive;
1886
+ private reversingActive;
1887
+ private static readonly WALL_SWEEP_LIFT;
1888
+ private static readonly WALL_SWEEP_MARGIN;
1889
+ private static readonly WALL_SWEEP_MIN_SPEED;
1890
+ private static readonly LEDGE_ROOM_CLEARANCE;
1891
+ private static readonly LEDGE_ROOM_MARGIN;
1892
+ private static readonly ANTIGRAVITY_BUMP_BOOST_DELAY;
1893
+ private static readonly ANTIGRAVITY_BUMP_BOOST_BELOW;
1894
+ private static readonly AUTO_DRIVE_TURN_DIVIDER;
1895
+ static readonly BULLET_GROUND_RAY_DIST: number;
1896
+ private static readonly REVERSE_SKID_ARM_SPEED;
1897
+ private static readonly REVERSE_SKID_STALL_SPEED;
1898
+ private static readonly REVERSE_SKID_MAX_SPEED;
1899
+ private static readonly WALL_REARM_SECONDS;
1900
+ hitByBanana(): boolean;
1901
+ hitByShell(): boolean;
1902
+ hitByExplosion(): boolean;
1903
+ startStar(seconds?: number): void;
1904
+ startAutoDrive(options: IKartAutoDriveOptions): void;
1905
+ stopAutoDrive(): void;
1906
+ hasStar(): boolean;
1907
+ isAutoDriving(): boolean;
1908
+ isSpunOut(): boolean;
1909
+ isInvulnerable(): boolean;
1910
+ isReverseSkidding(): boolean;
1911
+ isReversing(): boolean;
1912
+ applyPush(force: BABYLON.Vector3, seconds: number): void;
1913
+ limitSpeed(maxSpeed: number): void;
1914
+ setRaceStarted(started: boolean): void;
1915
+ private readonly steeringYawRateState;
1916
+ getSteeringYawRate(): number;
1917
+ getHitState(): KartHitState;
1918
+ private landHit;
1919
+ private applyAutoDriveInputs;
1920
+ private tickAutoDrive;
1921
+ private tickAntiGravityBumpBoost;
1922
+ private stepPushes;
1923
+ private updateReverseSkid;
1924
+ private updateReversing;
1925
+ private onImpactContact;
1926
+ private attachSurfaceContacts;
1927
+ private onBodyContact;
1928
+ private contactStepMinUpDot;
1929
+ private armLedgeAtTouchedCorner;
1930
+ private isTouchedLedgeMountable;
1931
+ private isStaticScenery;
1932
+ private static belongsToRemoteKart;
1933
+ private hitWall;
1934
+ private easeHeadingAlongWall;
1935
+ private keepNoseSpeedOnMovingRoad;
1936
+ private isOnMovingRoad;
1937
+ private fadeWallBounce;
1938
+ private steeringBandSpeed;
1939
+ private limitApproachToWallAhead;
1940
+ private hasRoomOnLedge;
1941
+ private getSweepLayerMask;
1942
+ private getSweepShape;
1943
+ private getSweepRadius;
1944
+ private clearWallContacts;
1945
+ private bumpKart;
1946
+ private playBumpReaction;
1947
+ private findKartPartner;
954
1948
  getCurrentSpeed(): number;
1949
+ getThrottleInput(): number;
1950
+ isBrakeHeld(): boolean;
1951
+ private isAccelerateHeld;
1952
+ private isBrakeInputHeld;
1953
+ protected isDriftBrakeActive(): boolean;
1954
+ get steerInput(): number;
955
1955
  getRealCurrentSpeed(): number;
956
1956
  getDriftState(): EKartDriftState;
1957
+ getDriftHopCount(): number;
957
1958
  getDriftTime(): number;
958
1959
  getDriftTier(): number;
959
1960
  getDriftTierTimes(): number[];
@@ -1012,8 +2013,10 @@ export declare class StandardKartController extends ScriptComponent {
1012
2013
  getLastBoostSource(): EKartBoostSource;
1013
2014
  isFellInWater(): boolean;
1014
2015
  isRaceCompleted(): boolean;
2016
+ isRaceStarted(): boolean;
1015
2017
  }
1016
2018
  export interface IKartEffectsTarget {
2019
+ transform?: BABYLON.TransformNode;
1017
2020
  getDriftState(): number;
1018
2021
  getDriftTime(): number;
1019
2022
  getDriftTierTimes?(): number[];
@@ -1029,7 +2032,20 @@ export interface IKartEffectsTarget {
1029
2032
  sparkTier1Color?: string;
1030
2033
  sparkTier2Color?: string;
1031
2034
  sparkTier3Color?: string;
1032
- isFellInWater?(): boolean;
2035
+ antiGravityTireColor?: string;
2036
+ hasUnderwaterHandling?(): boolean;
2037
+ Is_Dirt_Track?: boolean;
2038
+ getRealCurrentSpeed?(): number;
2039
+ isDrifting?(): boolean;
2040
+ isGliding?(): boolean;
2041
+ isJumpPanelling?(): boolean;
2042
+ getThrottleInput?(): number;
2043
+ isBrakeHeld?(): boolean;
2044
+ isAutoDriving?(): boolean;
2045
+ useBulletBillModel?: boolean;
2046
+ isReverseSkidding?(): boolean;
2047
+ hasStar?(): boolean;
2048
+ RACE_STARTED?: boolean;
1033
2049
  }
1034
2050
  export interface IKartEmitterGroup {
1035
2051
  name: string;
@@ -1040,15 +2056,26 @@ export interface IKartEmitterGroup {
1040
2056
  simulationSpace: number;
1041
2057
  }
1042
2058
  export declare class StandardKartEffects extends ScriptComponent {
2059
+ private static readonly CURVE_MODE_CONSTANT;
2060
+ private static readonly CURVE_MODE_CURVE;
2061
+ private static readonly CURVE_MODE_TWO_CURVES;
2062
+ private static readonly CURVE_MODE_TWO_CONSTANTS;
1043
2063
  kart: IKartEffectsTarget;
1044
2064
  mountNode: BABYLON.TransformNode;
1045
2065
  modelNodeName: string;
1046
2066
  effectsEnabled: boolean;
1047
2067
  sparksEnabled: boolean;
1048
2068
  driftDustEnabled: boolean;
2069
+ driftDustWholeDrift: boolean;
2070
+ driftDustEmissionScale: number;
2071
+ driftDustSizeScale: number;
2072
+ driftDustLifetimeScale: number;
1049
2073
  boostBurstEnabled: boolean;
1050
2074
  boostFlamesEnabled: boolean;
1051
2075
  antiGravSpinEnabled: boolean;
2076
+ tireGlowEnabled: boolean;
2077
+ antiGravityTireColor: string;
2078
+ protected tireGlow: KartTireGlow;
1052
2079
  trickParticlesEnabled: boolean;
1053
2080
  groundLandEnabled: boolean;
1054
2081
  createPlaceholderEmitters: boolean;
@@ -1062,6 +2089,10 @@ export declare class StandardKartEffects extends ScriptComponent {
1062
2089
  antiGravSpinNodeName: string;
1063
2090
  trickParticlesNodeName: string;
1064
2091
  groundLandNodeName: string;
2092
+ dustNodeName: string;
2093
+ starNodeName: string;
2094
+ exhaustNodeName: string;
2095
+ startDustNodeName: string;
1065
2096
  sparkTier1Color: string;
1066
2097
  sparkTier2Color: string;
1067
2098
  sparkTier3Color: string;
@@ -1084,12 +2115,20 @@ export declare class StandardKartEffects extends ScriptComponent {
1084
2115
  protected initEffectsState(): void;
1085
2116
  protected destroyEffectsState(): void;
1086
2117
  protected updateEffectsState(): void;
2118
+ protected tickTrackDust(): void;
2119
+ protected isDirtTrackDustDue(): boolean;
2120
+ protected isKartBraking(): boolean;
2121
+ protected tickStartDust(): void;
2122
+ protected tickStar(): void;
1087
2123
  protected tickDriftEffects(): void;
1088
2124
  protected tickBoostEffects(): void;
2125
+ protected isFlameRideRunning(): boolean;
1089
2126
  protected tickAntiGravSpin(dt: number): void;
2127
+ protected tickTireGlow(deltaSeconds: number): void;
1090
2128
  protected tickOneShots(): void;
1091
2129
  protected playGroup(name: string): void;
1092
2130
  protected stopGroup(name: string): void;
2131
+ private static AnySystemPlaying;
1093
2132
  protected restartGroup(name: string): void;
1094
2133
  protected stopAllGroups(): void;
1095
2134
  protected applySparkColor(hex: string): void;
@@ -1097,8 +2136,13 @@ export declare class StandardKartEffects extends ScriptComponent {
1097
2136
  protected resolveMountNode(): BABYLON.TransformNode;
1098
2137
  protected resolveSimulationSpace(group: IKartEmitterGroup, kind: string): number;
1099
2138
  protected findChildNode(name: string): BABYLON.TransformNode;
2139
+ protected resolveKartRoot(): BABYLON.TransformNode;
1100
2140
  protected buildGroups(): void;
1101
- protected registerGroup(key: string, nodeName: string, parent: BABYLON.TransformNode, count: number, offset: BABYLON.Vector3, kind: string): void;
2141
+ protected registerGroup(key: string, nodeName: string, parent: BABYLON.TransformNode, count: number, offset: BABYLON.Vector3, kind: string, placeholderAllowed?: boolean): void;
2142
+ protected scaleDriftDustSystems(groupName: string): void;
2143
+ protected scaleDustStartSize(main: IParticleMainModule, particles: BABYLON.ParticleSystem, sizeScale: number): void;
2144
+ protected scaleDustStartLifetime(main: IParticleMainModule, particles: BABYLON.ParticleSystem, lifetimeScale: number): void;
2145
+ protected static ScaleMinMaxCurve(curve: IParticleMinMaxCurve, factor: number): boolean;
1102
2146
  protected findNamedChildOf(parent: BABYLON.TransformNode, name: string): BABYLON.TransformNode;
1103
2147
  protected collectParticleComponents(node: BABYLON.TransformNode): ShurikenParticles[];
1104
2148
  protected createMountNode(name: string, offset: BABYLON.Vector3): BABYLON.TransformNode;
@@ -1226,116 +2270,6 @@ export declare class RaceTrackManager extends ScriptComponent {
1226
2270
  static GetLeaderboardPositionList(): PlayerRaceStats[];
1227
2271
  private static SortLeaderboardPositionList;
1228
2272
  }
1229
- export declare class RemoteCarController extends ScriptComponent {
1230
- private static ShowSensorLines;
1231
- centerOfMass: number;
1232
- burnoutWheelPitch: number;
1233
- linkTrackManager: boolean;
1234
- playVehicleSounds: boolean;
1235
- smokeTexture: BABYLON.Texture;
1236
- skidThreashold: number;
1237
- smokeIntensity: number;
1238
- wheelDrawVelocity: number;
1239
- smokeOpacity: number;
1240
- smokeDonuts: number;
1241
- private steeringWheelHub;
1242
- private steeringWheelAxis;
1243
- private maxSteeringAngle;
1244
- private maxSteeringSpeed;
1245
- private _animator;
1246
- private _engineAudioSource;
1247
- private _skidAudioSource;
1248
- private brakeLightsMesh;
1249
- private brakeLightsTrans;
1250
- private reverseLightsMesh;
1251
- private reverseLightsTrans;
1252
- private frontLeftWheelTrans;
1253
- private frontRightWheelTrans;
1254
- private backLeftWheelTrans;
1255
- private backRightWheelTrans;
1256
- private frontLeftWheelMesh;
1257
- private frontRightWheelMesh;
1258
- private backLeftWheelMesh;
1259
- private backRightWheelMesh;
1260
- private frontLeftWheelEmitter;
1261
- private frontRightWheelEmitter;
1262
- private backLeftWheelEmitter;
1263
- private backRightWheelEmitter;
1264
- private frontLeftWheelParticle;
1265
- private frontRightWheelParticle;
1266
- private backLeftWheelParticle;
1267
- private backRightWheelParticle;
1268
- private frontLeftContact;
1269
- private frontRightContact;
1270
- private rearLeftContact;
1271
- private rearRightContact;
1272
- private frontLeftContactTag;
1273
- private frontRightContactTag;
1274
- private rearLeftContactTag;
1275
- private rearRightContactTag;
1276
- private frontLeftContactPoint;
1277
- private frontRightContactPoint;
1278
- private rearLeftContactPoint;
1279
- private rearRightContactPoint;
1280
- private frontLeftContactNormal;
1281
- private frontRightContactNormal;
1282
- private rearLeftContactNormal;
1283
- private rearRightContactNormal;
1284
- private startRaycastPosition;
1285
- private endRaycastPosition;
1286
- private smokeIntensityFactor;
1287
- private downDirection;
1288
- private downDistance;
1289
- private lastPitch;
1290
- private lastBrake;
1291
- private lastReverse;
1292
- private lastBurnout;
1293
- private lastSteering;
1294
- private lastSKID_FL;
1295
- private lastSKID_FR;
1296
- private lastSKID_RL;
1297
- private lastSKID_RR;
1298
- private lastSPIN_FL;
1299
- private lastSPIN_FR;
1300
- private lastSPIN_RL;
1301
- private lastSPIN_RR;
1302
- private PITCH_FL;
1303
- private PITCH_FR;
1304
- private PITCH_RL;
1305
- private PITCH_RR;
1306
- private WHEEL_SKID_PITCH;
1307
- getFrontLeftWheelContact(): boolean;
1308
- getFrontRightWheelContact(): boolean;
1309
- getRearLeftWheelContact(): boolean;
1310
- getRearRightWheelContact(): boolean;
1311
- getFrontLeftWheelContactTag(): string;
1312
- getFrontRightWheelContactTag(): string;
1313
- getRearLeftWheelContactTag(): string;
1314
- getRearRightWheelContactTag(): string;
1315
- getFrontLeftWheelContactPoint(): BABYLON.Vector3;
1316
- getFrontRightWheelContactPoint(): BABYLON.Vector3;
1317
- getRearLeftWheelContactPoint(): BABYLON.Vector3;
1318
- getRearRightWheelContactPoint(): BABYLON.Vector3;
1319
- getFrontLeftWheelContactNormal(): BABYLON.Vector3;
1320
- getFrontRightWheelContactNormal(): BABYLON.Vector3;
1321
- getRearLeftWheelContactNormal(): BABYLON.Vector3;
1322
- getRearRightWheelContactNormal(): BABYLON.Vector3;
1323
- protected m_frontLeftWheelSkid: number;
1324
- protected m_frontRightWheelSkid: number;
1325
- protected m_backLeftWheelSkid: number;
1326
- protected m_backRightWheelSkid: number;
1327
- protected m_velocityOffset: BABYLON.Vector3;
1328
- protected m_linearVelocity: BABYLON.Vector3;
1329
- protected m_lastPosition: BABYLON.Vector3;
1330
- protected m_positionCenter: BABYLON.Vector3;
1331
- protected m_scaledVelocity: number;
1332
- protected awake(): void;
1333
- protected start(): void;
1334
- protected update(): void;
1335
- protected destroy(): void;
1336
- protected updateVehicleProperties(): void;
1337
- private createSmokeParticleSystem;
1338
- }
1339
2273
  export declare class SideCameraController extends ScriptComponent {
1340
2274
  private _camera;
1341
2275
  private _adt;
@@ -1505,10 +2439,6 @@ export declare class StandardCarController extends ScriptComponent {
1505
2439
  private BACK_RIGHT;
1506
2440
  private WHEEL_SKID_PITCH;
1507
2441
  private POWER_BOOST_PITCH;
1508
- private SPIN_FL_Rotation;
1509
- private SPIN_FR_Rotation;
1510
- private SPIN_RL_Rotation;
1511
- private SPIN_RR_Rotation;
1512
2442
  isBraking(): boolean;
1513
2443
  isBoosting(): boolean;
1514
2444
  private allowRollingReverseBurnout;
@@ -1679,7 +2609,6 @@ export declare class StandardCarController extends ScriptComponent {
1679
2609
  powerBooster: boolean;
1680
2610
  linkTrackManager: boolean;
1681
2611
  playVehicleSounds: boolean;
1682
- postNetworkAttributes: boolean;
1683
2612
  wheelDriveType: number;
1684
2613
  gearBoxMultiplier: number;
1685
2614
  currentPitchScale: number;
@@ -2142,23 +3071,6 @@ export declare class VehicleInputController extends ScriptComponent {
2142
3071
  protected generateRandonNumber(min: number, max: number, decimals?: number): number;
2143
3072
  protected destroyVehicleController(): void;
2144
3073
  }
2145
- export declare class VehicleNetworkLabel extends ScriptComponent {
2146
- label: BABYLON.GUI.TextBlock;
2147
- rect: BABYLON.GUI.Rectangle;
2148
- autoCreate: boolean;
2149
- offsetX: number;
2150
- offsetY: number;
2151
- labelColor: BABYLON.Color3;
2152
- borderColor: BABYLON.Color3;
2153
- backgroundColor: BABYLON.Color3;
2154
- labelCreated: boolean;
2155
- constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
2156
- protected update(): void;
2157
- createLabel(name: string): void;
2158
- protected destroy(): void;
2159
- private static AdvDynamicTexture;
2160
- static GetFullscreenUI(scene: BABYLON.Scene, sampling?: number): BABYLON.GUI.AdvancedDynamicTexture;
2161
- }
2162
3074
  export declare class DoubleSided extends CustomShaderMaterial {
2163
3075
  constructor(name: string, scene: BABYLON.Scene);
2164
3076
  awake(): void;
@@ -2314,53 +3226,6 @@ export declare class AssetPreloader extends ScriptComponent implements IAssetPre
2314
3226
  protected destroy(): void;
2315
3227
  addPreloaderTasks(assetsManager: PreloadAssetsManager): void;
2316
3228
  }
2317
- export declare class NodeMaterialInstance extends ScriptComponent {
2318
- private nodeMaterialData;
2319
- private setCustomRootUrl;
2320
- getMaterialInstance(): BABYLON.NodeMaterial;
2321
- protected m_nodeMaterial: BABYLON.NodeMaterial;
2322
- constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
2323
- protected awake(): void;
2324
- protected destroy(): void;
2325
- }
2326
- export declare class NodeMaterialParticle extends ScriptComponent {
2327
- private nodeMaterialEditor;
2328
- constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
2329
- protected awake(): void;
2330
- protected start(): void;
2331
- protected setupNodeMaterial(materialInstance: BABYLON.NodeMaterial): void;
2332
- protected update(): void;
2333
- protected late(): void;
2334
- protected after(): void;
2335
- protected fixed(): void;
2336
- protected ready(): void;
2337
- protected destroy(): void;
2338
- }
2339
- export declare class NodeMaterialProcess extends ScriptComponent {
2340
- private nodeMaterialEditor;
2341
- private numberOfSamples;
2342
- private samplingMode;
2343
- private textureType;
2344
- private textureFormat;
2345
- private sizeRatio;
2346
- private resuable;
2347
- getPostProcess(): BABYLON.PostProcess;
2348
- protected m_postProcess: BABYLON.PostProcess;
2349
- constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
2350
- protected start(): void;
2351
- protected setupNodeMaterial(materialInstance: BABYLON.NodeMaterial): void;
2352
- protected destroy(): void;
2353
- }
2354
- export declare class NodeMaterialTexture extends ScriptComponent {
2355
- private nodeMaterialEditor;
2356
- private textureSize;
2357
- getProceduralTexture(): BABYLON.ProceduralTexture;
2358
- protected m_proceduralTexture: BABYLON.ProceduralTexture;
2359
- constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
2360
- protected start(): void;
2361
- protected setupNodeMaterial(materialInstance: BABYLON.NodeMaterial): void;
2362
- protected destroy(): void;
2363
- }
2364
3229
  export declare class MobileInputController extends ScriptComponent {
2365
3230
  static get Instance(): MobileInputController;
2366
3231
  private static StaticInstance;
@@ -2441,98 +3306,11 @@ export declare class MobileShadowMaterial extends ScriptComponent {
2441
3306
  protected awake(): void;
2442
3307
  protected destroy(): void;
2443
3308
  }
2444
- export declare class BallSocketJoint extends ScriptComponent {
2445
- bodyA: BABYLON.TransformNode;
2446
- bodyB: BABYLON.TransformNode;
2447
- pivotA: BABYLON.Vector3;
2448
- pivotB: BABYLON.Vector3;
2449
- axisA: BABYLON.Vector3;
2450
- axisB: BABYLON.Vector3;
2451
- constraint: BABYLON.BallAndSocketConstraint;
2452
- collisionsEnabled: boolean;
2453
- constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
2454
- protected awake(): void;
2455
- protected destroy(): void;
2456
- }
2457
- export declare class DistanceJoint extends ScriptComponent {
2458
- bodyA: BABYLON.TransformNode;
2459
- bodyB: BABYLON.TransformNode;
2460
- maxDistance: number;
2461
- constraint: BABYLON.DistanceConstraint;
2462
- collisionsEnabled: boolean;
2463
- constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
2464
- protected awake(): void;
2465
- protected destroy(): void;
2466
- }
2467
- export declare class FixedHingeJoint extends ScriptComponent {
2468
- bodyA: BABYLON.TransformNode;
2469
- bodyB: BABYLON.TransformNode;
2470
- pivotA: BABYLON.Vector3;
2471
- pivotB: BABYLON.Vector3;
2472
- constraint: BABYLON.HingeConstraint;
2473
- collisionsEnabled: boolean;
2474
- constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
2475
- protected awake(): void;
2476
- protected destroy(): void;
2477
- }
2478
- export declare class LockedJoint extends ScriptComponent {
2479
- bodyA: BABYLON.TransformNode;
2480
- bodyB: BABYLON.TransformNode;
2481
- pivotA: BABYLON.Vector3;
2482
- pivotB: BABYLON.Vector3;
2483
- axisA: BABYLON.Vector3;
2484
- axisB: BABYLON.Vector3;
2485
- constraint: BABYLON.LockConstraint;
2486
- collisionsEnabled: boolean;
2487
- constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
2488
- protected awake(): void;
2489
- protected destroy(): void;
2490
- }
2491
- export declare class PrismaticJoint extends ScriptComponent {
2492
- bodyA: BABYLON.TransformNode;
2493
- bodyB: BABYLON.TransformNode;
2494
- pivotA: BABYLON.Vector3;
2495
- pivotB: BABYLON.Vector3;
2496
- axisA: BABYLON.Vector3;
2497
- axisB: BABYLON.Vector3;
2498
- constraint: BABYLON.PrismaticConstraint;
2499
- collisionsEnabled: boolean;
2500
- constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
2501
- protected awake(): void;
2502
- protected destroy(): void;
2503
- }
2504
- export declare class SixdofJoint extends ScriptComponent {
2505
- bodyA: BABYLON.TransformNode;
2506
- bodyB: BABYLON.TransformNode;
2507
- pivotA: BABYLON.Vector3;
2508
- pivotB: BABYLON.Vector3;
2509
- perpAxisA: BABYLON.Vector3;
2510
- perpAxisB: BABYLON.Vector3;
2511
- axisLimits: BABYLON.Physics6DoFLimit[];
2512
- constraint: BABYLON.Physics6DoFConstraint;
2513
- collisionsEnabled: boolean;
2514
- constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
2515
- protected awake(): void;
2516
- protected destroy(): void;
2517
- }
2518
- export declare class SliderJoint extends ScriptComponent {
2519
- bodyA: BABYLON.TransformNode;
2520
- bodyB: BABYLON.TransformNode;
2521
- pivotA: BABYLON.Vector3;
2522
- pivotB: BABYLON.Vector3;
2523
- axisA: BABYLON.Vector3;
2524
- axisB: BABYLON.Vector3;
2525
- constraint: BABYLON.SliderConstraint;
2526
- collisionsEnabled: boolean;
2527
- constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
2528
- protected awake(): void;
2529
- protected destroy(): void;
2530
- }
2531
3309
  export declare class RemotePlayerController extends ScriptComponent {
2532
3310
  updateStateParams: boolean;
2533
3311
  smoothMotionTime: number;
2534
3312
  smoothInputVectors: boolean;
2535
- private animationState;
3313
+ private animator;
2536
3314
  private animationStateParams;
2537
3315
  constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
2538
3316
  protected awake(): void;
@@ -2591,6 +3369,7 @@ export declare class StandardPlayerController extends ScriptComponent {
2591
3369
  cameraSmoothing: number;
2592
3370
  cameraCollisions: boolean;
2593
3371
  inputMagnitude: number;
3372
+ analogMovement: boolean;
2594
3373
  landingEpsilon: number;
2595
3374
  minimumDistance: number;
2596
3375
  movementAllowed: boolean;
@@ -2623,7 +3402,7 @@ export declare class StandardPlayerController extends ScriptComponent {
2623
3402
  getMovementSpeed(): number;
2624
3403
  getCameraBoomNode(): BABYLON.TransformNode;
2625
3404
  getCameraTransform(): BABYLON.TransformNode;
2626
- getAnimationState(): AnimationState;
3405
+ getAnimator(): Animator;
2627
3406
  getVerticalVelocity(): number;
2628
3407
  getCharacterController(): CharacterController;
2629
3408
  getPlayerLookRotation(): BABYLON.Vector3;
@@ -2706,7 +3485,7 @@ export declare class StandardPlayerController extends ScriptComponent {
2706
3485
  private delayJumpTimer;
2707
3486
  private playerControl;
2708
3487
  private canPlayerJump;
2709
- private animationState;
3488
+ private animator;
2710
3489
  private lastJumpVelocity;
2711
3490
  private inputMovementVector;
2712
3491
  private playerLookRotation;
@@ -2755,10 +3534,11 @@ export declare class StandardPlayerController extends ScriptComponent {
2755
3534
  onPlayerInputObservable: any;
2756
3535
  onPlayerPositionObservable: any;
2757
3536
  onUpdateActionObservable: any;
2758
- private _deltaMotionPosition;
2759
- getDeltaMotionPosition(): BABYLON.Vector3;
2760
- private _deltaMotionRotation;
2761
- getDeltaMotionRotation(): BABYLON.Quaternion;
3537
+ private animatorMoveObserver;
3538
+ private exportedApplyRootMotion;
3539
+ private readonly rootMotionVelocity;
3540
+ private syncAnimatorMoveTaker;
3541
+ private onAnimatorMove;
2762
3542
  private isPerformingAction;
2763
3543
  private isRootMotionAction;
2764
3544
  private isActionInterruptable;
@@ -2778,12 +3558,19 @@ export declare class StandardPlayerController extends ScriptComponent {
2778
3558
  private lastTargetRotation;
2779
3559
  private lastDeltaPosition;
2780
3560
  private lastDeltaRotation;
3561
+ private smoothedPlayerHeight;
3562
+ private readonly playerHeightVelocity;
3563
+ private actionStateHash;
3564
+ private actionStateEntered;
2781
3565
  getIsPerformingAction(): boolean;
2782
3566
  getIsRootMotionAction(): boolean;
2783
3567
  getIsActionInterruptable(): boolean;
2784
3568
  playActionAnimation(action: number, interruptableAction?: boolean, enableRootMotion?: boolean, afterActionComplete?: () => void): void;
2785
3569
  resetActionAnimationState(): void;
2786
3570
  private updateAnimationActionState;
3571
+ private applyActionRootMotion;
3572
+ private applyHeightMatch;
3573
+ private rotateTowardsClimbSurface;
2787
3574
  setWorldPosition(x: number, y: number, z: number): void;
2788
3575
  setPlayerControl(mode: PlayerInputControl): void;
2789
3576
  togglePlayerControl(): void;
@@ -2820,6 +3607,9 @@ export declare class StandardPlayerController extends ScriptComponent {
2820
3607
  isGroundedFootIKActive(): boolean;
2821
3608
  setupBoneControllers(): void;
2822
3609
  private attachAnimationController;
3610
+ private onAnimatorStateEnter;
3611
+ private onAnimatorStateExit;
3612
+ private onAnimatorIKPass;
2823
3613
  private updateAnimatorTargetMeshes;
2824
3614
  enableCharacterController(state: boolean): void;
2825
3615
  resetPlayerRotation(): void;
@@ -2842,6 +3632,7 @@ export declare class StandardPlayerController extends ScriptComponent {
2842
3632
  private getCheckedVerticalVelocity;
2843
3633
  private destroyPlayerController;
2844
3634
  private validateAnimationStateParams;
3635
+ static ApplyAnimationStateParamDefaults(params: AnimationStateParams): AnimationStateParams;
2845
3636
  }
2846
3637
  export interface AnimationStateParams {
2847
3638
  moveDirection: string;
@@ -2852,6 +3643,7 @@ export interface AnimationStateParams {
2852
3643
  mouseYInput: string;
2853
3644
  heightInput: string;
2854
3645
  speedInput: string;
3646
+ motionSpeed?: string;
2855
3647
  jumpFrame: string;
2856
3648
  jumpState: string;
2857
3649
  actionState: string;
@@ -2918,6 +3710,7 @@ export declare class ThirdPersonPlayerController extends ScriptComponent {
2918
3710
  useClimbSystem: boolean;
2919
3711
  distanceFactor: number;
2920
3712
  inputMagnitude: number;
3713
+ analogMovement: boolean;
2921
3714
  landingEpsilon: number;
2922
3715
  minimumDistance: number;
2923
3716
  movementAllowed: boolean;
@@ -2946,7 +3739,7 @@ export declare class ThirdPersonPlayerController extends ScriptComponent {
2946
3739
  getPlayerGrounded(): boolean;
2947
3740
  getFallTriggered(): boolean;
2948
3741
  getMovementSpeed(): number;
2949
- getAnimationState(): AnimationState;
3742
+ getAnimator(): Animator;
2950
3743
  getVerticalVelocity(): number;
2951
3744
  getCharacterController(): CharacterController;
2952
3745
  getPlayerLookRotation(): BABYLON.Vector3;
@@ -3006,7 +3799,7 @@ export declare class ThirdPersonPlayerController extends ScriptComponent {
3006
3799
  private deltaTime;
3007
3800
  private delayJumpTimer;
3008
3801
  private canPlayerJump;
3009
- private animationState;
3802
+ private animator;
3010
3803
  private lastJumpVelocity;
3011
3804
  private inputMovementVector;
3012
3805
  private playerLookRotation;
@@ -3056,10 +3849,11 @@ export declare class ThirdPersonPlayerController extends ScriptComponent {
3056
3849
  onPlayerPositionObservable: any;
3057
3850
  onUpdateActionObservable: any;
3058
3851
  onAnimationStateObservable: any;
3059
- private _deltaMotionPosition;
3060
- getDeltaMotionPosition(): BABYLON.Vector3;
3061
- private _deltaMotionRotation;
3062
- getDeltaMotionRotation(): BABYLON.Quaternion;
3852
+ private animatorMoveObserver;
3853
+ private exportedApplyRootMotion;
3854
+ private readonly rootMotionVelocity;
3855
+ private syncAnimatorMoveTaker;
3856
+ private onAnimatorMove;
3063
3857
  private isPerformingAction;
3064
3858
  private isRootMotionAction;
3065
3859
  private isActionInterruptable;
@@ -3079,12 +3873,19 @@ export declare class ThirdPersonPlayerController extends ScriptComponent {
3079
3873
  private lastTargetRotation;
3080
3874
  private lastDeltaPosition;
3081
3875
  private lastDeltaRotation;
3876
+ private smoothedPlayerHeight;
3877
+ private readonly playerHeightVelocity;
3878
+ private actionStateHash;
3879
+ private actionStateEntered;
3082
3880
  getIsPerformingAction(): boolean;
3083
3881
  getIsRootMotionAction(): boolean;
3084
3882
  getIsActionInterruptable(): boolean;
3085
3883
  playActionAnimation(action: number, interruptableAction?: boolean, enableRootMotion?: boolean, afterActionComplete?: () => void): void;
3086
3884
  resetActionAnimationState(): void;
3087
3885
  private updateAnimationActionState;
3886
+ private applyActionRootMotion;
3887
+ private applyHeightMatch;
3888
+ private rotateTowardsClimbSurface;
3088
3889
  setWorldPosition(x: number, y: number, z: number): void;
3089
3890
  private ikLeftFootTarget;
3090
3891
  private ikLeftPoleTarget;
@@ -3117,6 +3918,9 @@ export declare class ThirdPersonPlayerController extends ScriptComponent {
3117
3918
  isGroundedFootIKActive(): boolean;
3118
3919
  setupBoneControllers(): void;
3119
3920
  private attachAnimationController;
3921
+ private onAnimatorStateEnter;
3922
+ private onAnimatorStateExit;
3923
+ private onAnimatorIKPass;
3120
3924
  private updateAnimatorTargetMeshes;
3121
3925
  enableCharacterController(state: boolean): void;
3122
3926
  resetPlayerJumpingState(): void;
@@ -3131,78 +3935,12 @@ export declare class ThirdPersonPlayerController extends ScriptComponent {
3131
3935
  private getCheckedVerticalVelocity;
3132
3936
  private destroyPlayerController;
3133
3937
  private validateAnimationStateParams;
3938
+ static ApplyAnimationStateParamDefaults(params: AnimationStateParams): AnimationStateParams;
3134
3939
  }
3135
3940
  export declare enum ThirdPersonControl {
3136
3941
  ThirdPersonTurning = 0,
3137
3942
  ThirdPersonForward = 1
3138
3943
  }
3139
- export declare class FxParticleSystem extends ScriptComponent {
3140
- getParticleEmitter(): BABYLON.AbstractMesh;
3141
- getParticleSystem(): BABYLON.ParticleSystem | BABYLON.GPUParticleSystem;
3142
- constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
3143
- protected m_particleEmitter: BABYLON.AbstractMesh;
3144
- protected m_particleSystem: BABYLON.ParticleSystem | BABYLON.GPUParticleSystem;
3145
- protected awake(): void;
3146
- protected destroy(): void;
3147
- }
3148
- export declare class SkyMaterialSystem extends ScriptComponent {
3149
- private skyfog;
3150
- private skysize;
3151
- private probesize;
3152
- private reflections;
3153
- private reflectlevel;
3154
- private skytintcolor;
3155
- getSkyboxMesh(): BABYLON.AbstractMesh;
3156
- getSkyMaterial(): BABYLON.SkyMaterial;
3157
- getReflectionProbe(): BABYLON.ReflectionProbe;
3158
- constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
3159
- protected awake(): void;
3160
- protected start(): void;
3161
- protected update(): void;
3162
- protected late(): void;
3163
- protected after(): void;
3164
- protected destroy(): void;
3165
- protected m_skyboxMesh: BABYLON.Mesh;
3166
- protected m_skyMaterial: BABYLON.SkyMaterial;
3167
- protected m_reflectProbe: BABYLON.ReflectionProbe;
3168
- protected awakeSkyboxMaterial(): void;
3169
- protected destroySkyboxMaterial(): void;
3170
- setSkyboxTintColor(color: BABYLON.Color3): void;
3171
- }
3172
- export declare class WaterMaterialSystem extends ScriptComponent {
3173
- private waterTag;
3174
- private targetSize;
3175
- private renderSize;
3176
- private depthFactor;
3177
- private reflectSkybox;
3178
- private subDivisions;
3179
- private heightOffset;
3180
- private windDirection;
3181
- private windForce;
3182
- private waveSpeed;
3183
- private waveLength;
3184
- private waveHeight;
3185
- private bumpHeight;
3186
- private bumpSuperimpose;
3187
- private bumpAffectsReflection;
3188
- private waterColor;
3189
- private colorBlendFactor;
3190
- private waterColor2;
3191
- private colorBlendFactor2;
3192
- private disableClipPlane;
3193
- private fresnelSeparate;
3194
- getWaterGeometry(): BABYLON.AbstractMesh;
3195
- getWaterMaterial(): BABYLON.WaterMaterial;
3196
- protected m_waterGeometry: BABYLON.AbstractMesh;
3197
- protected m_waterMaterial: BABYLON.WaterMaterial;
3198
- constructor(transform: BABYLON.TransformNode, scene: BABYLON.Scene, properties?: any, alias?: string);
3199
- protected awake(): void;
3200
- protected start(): void;
3201
- protected update(): void;
3202
- protected late(): void;
3203
- protected after(): void;
3204
- protected destroy(): void;
3205
- }
3206
3944
  export declare class SnapshotManager extends ScriptComponent {
3207
3945
  static IsSnapshotRenderingEnabled(): boolean;
3208
3946
  static EnableSnapshotRendering(): void;
@@ -3281,6 +4019,21 @@ export declare class SoundManager extends ScriptComponent {
3281
4019
  setGroupVolume(volume: number, time?: number): void;
3282
4020
  getAudioSource(name: string): AudioSource;
3283
4021
  }
4022
+ export declare class WindowsPlatform {
4023
+ static IsXboxLiveUserSignedIn(systemUser?: Windows.System.User, player?: PlayerNumber): boolean;
4024
+ static XboxLiveUserSignIn(player?: PlayerNumber, oncomplete?: (result: Microsoft.Xbox.Services.System.SignInResult) => void, onerror?: (error: any) => void, onprogress?: (progress: any) => void): void;
4025
+ static XboxLiveUserSilentSignIn(player?: PlayerNumber, oncomplete?: (result: Microsoft.Xbox.Services.System.SignInResult) => void, onerror?: (error: any) => void, onprogress?: (progress: any) => void): Windows.Foundation.Projections.Promise<void>;
4026
+ static XboxLiveUserDialogSignIn(player?: PlayerNumber, oncomplete?: (result: Microsoft.Xbox.Services.System.SignInResult) => void, onerror?: (error: any) => void, onprogress?: (progress: any) => void): Windows.Foundation.Projections.Promise<void>;
4027
+ static LoadXboxLiveUserProfile(player?: PlayerNumber, oncomplete?: (result: Microsoft.Xbox.Services.Social.XboxUserProfile) => void, onerror?: (error: any) => void, onprogress?: (progress: any) => void): Windows.Foundation.Projections.Promise<void>;
4028
+ static GetXboxLiveUser(player?: PlayerNumber): Microsoft.Xbox.Services.System.XboxLiveUser;
4029
+ static GetXboxLiveSystemUser(systemUser: Windows.System.User, player?: PlayerNumber): Microsoft.Xbox.Services.System.XboxLiveUser;
4030
+ static GetXboxLiveUserContext(player?: PlayerNumber): Microsoft.Xbox.Services.XboxLiveContext;
4031
+ static ResetXboxLiveUserContext(player?: PlayerNumber): void;
4032
+ static GetXboxLiveContextProperty(name: any): any;
4033
+ static SetXboxLiveContextProperty(name: any, property: any): void;
4034
+ static ResetXboxLivePropertyContexts(): void;
4035
+ static SetXboxLiveSignOutHandler(handler?: (result: Microsoft.Xbox.Services.System.SignOutCompletedEventArgs) => void): void;
4036
+ }
3284
4037
  declare global {
3285
4038
  interface Window {
3286
4039
  PROJECT: Record<string, unknown>;