Skip to content

@bendyline/molen-kernel/vehicles ​

Molen headless deterministic simulation kernel (no DOM, no three.js).

ts
import { /* … */ } from '@bendyline/molen-kernel/vehicles';

Interfaces ​

MountableData ​

Extends ​

Indexable ​

ts
[key: string]: JsonValue | undefined

Properties ​

exits ​
ts
exits: [number, number, number][];
reach ​
ts
reach: number;
seats ​
ts
seats: SeatData[];

MountedData ​

Extends ​

Indexable ​

ts
[key: string]: JsonValue | undefined

Properties ​

seat ​
ts
seat: string;
vehicle ​
ts
vehicle: string;

SeatData ​

Extends ​

Indexable ​

ts
[key: string]: JsonValue | undefined

Properties ​

id ​
ts
id: string;
position ​
ts
position: [number, number, number];
role ​
ts
role: "driver" | "passenger";

VehicleEnvironment ​

Host collision adapter. All positions are absolute metric coordinates.

Methods ​

canExit()? ​
ts
optional canExit(
   position, 
   actor, 
   vehicle
): boolean;
Parameters ​
position ​

[number, number, number]

actor ​

string

vehicle ​

string

Returns ​

boolean

canOccupy()? ​
ts
optional canOccupy(
   position, 
   yaw, 
   spec, 
   entity
): boolean;
Parameters ​
position ​

[number, number, number]

yaw ​

number

spec ​

VehicleSpec

entity ​

string

Returns ​

boolean

groundHeight() ​
ts
groundHeight(x, z): number | undefined;
Parameters ​
x ​

number

z ​

number

Returns ​

number | undefined


VehicleInputData ​

Extends ​

Indexable ​

ts
[key: string]: JsonValue | undefined

Properties ​

brake ​
ts
brake: boolean;
steering ​
ts
steering: number;
throttle ​
ts
throttle: number;

VehicleStateData ​

Extends ​

Indexable ​

ts
[key: string]: JsonValue | undefined

Properties ​

grounded ​
ts
grounded: boolean;
pitch ​
ts
pitch: number;
roll ​
ts
roll: number;
speed ​
ts
speed: number;
steer ​
ts
steer: number;
vy ​
ts
vy: number;
waitingForTerrain ​
ts
waitingForTerrain: boolean;
wheelAngle ​
ts
wheelAngle: number;
yaw ​
ts
yaw: number;

Variables ​

IDLE_VEHICLE_INPUT ​

ts
const IDLE_VEHICLE_INPUT: VehicleInputData;

Mountable ​

ts
const Mountable: ComponentType<MountableData>;

Mounted ​

ts
const Mounted: ComponentType<MountedData>;

Vehicle ​

ts
const Vehicle: ComponentType<VehicleData>;

VehicleInput ​

ts
const VehicleInput: ComponentType<VehicleInputData>;

VehicleState ​

ts
const VehicleState: ComponentType<VehicleStateData>;

Functions ​

driveVehicle() ​

ts
function driveVehicle(
   world, 
   actor, 
   input
): boolean;

Parameters ​

world ​

World

actor ​

string

input ​

VehicleInputData

Returns ​

boolean


initialVehicleState() ​

ts
function initialVehicleState(yaw?): VehicleStateData;

Parameters ​

yaw? ​

number

Returns ​

VehicleStateData


installMountedSeats() ​

ts
function installMountedSeats(world): void;

Shared seat following, installed once by either vehicle capability.

Parameters ​

world ​

World

Returns ​

void


installVehicles() ​

ts
function installVehicles(world, environment?): void;

Parameters ​

world ​

World

environment? ​

VehicleEnvironment

Returns ​

void


mountEntity() ​

ts
function mountEntity(
   world, 
   actor, 
   vehicle, 
   seatId?
): boolean;

Parameters ​

world ​

World

actor ​

string

vehicle ​

string

seatId? ​

string

Returns ​

boolean


stepVehicle() ​

ts
function stepVehicle(
   t, 
   state, 
   input, 
   spec, 
   dt, 
   env, 
   id?
): object;

Substepped bicycle chassis, grip-limited steering and four wheel terrain support. Grounded game physics; rigid-body crash deformation and rollovers are outside this solver.

Parameters ​

t ​

TransformData

state ​

VehicleStateData

input ​

VehicleInputData

spec ​

VehicleSpec

dt ​

number

env ​

VehicleEnvironment

id? ​

string

Returns ​

object

state ​
ts
state: VehicleStateData;
transform ​
ts
transform: TransformData;

unmountEntity() ​

ts
function unmountEntity(
   world, 
   actor, 
   env
): boolean;

Parameters ​

world ​

World

actor ​

string

env ​

VehicleEnvironment

Returns ​

boolean


vehicleLocalPoint() ​

ts
function vehicleLocalPoint(t, point): [number, number, number];

Parameters ​

t ​

TransformData

point ​

[number, number, number]

Returns ​

[number, number, number]


vehicleMounts() ​

ts
function vehicleMounts(spec): MountableData;

Parameters ​

spec ​

VehicleSpec

Returns ​

MountableData


vehicleRotation() ​

ts
function vehicleRotation(
   yaw, 
   pitch?, 
   roll?
): [number, number, number, number];

Parameters ​

yaw ​

number

pitch? ​

number

roll? ​

number

Returns ​

[number, number, number, number]

37 guides · 36 schema formats · 41 API entry points · 10 samples. API, CLI and schema pages are generated from the shipped build.