RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

Server CommandsGE UtilitiesGame Engine MainNavigation GraphScreenshot CaptureServerServer ConnectionSpawnpoint ManagerSimulation TimeVehicle SpawningSuspension Frequency Tester
Gameplay AchievementGameplay CityDiscoverForce FieldGarage ModeMarker InteractionParking SystemGameplay Playmode MarkersGameplay PoliceGameplay RallyGameplay Rally LoopGameplay Raw POIsGameplay Skidpad TestSpeed Trap LeaderboardsSpeed Traps and CamerasGameplay StatisticsTaxi Ride SystemTraffic SystemVehicle PerformanceWalking
Rally Audio ManagerRally Camera Path PlayerRally ClientRally Cut CaptureRally EnumsRally Extension HelperRally GeometryRally ManagerRecce ManagerRecce AppRecce SettingsRally Settings ManagerSnap-to-RoadTraffic Exclusion ZonesRally UtilityRally Vehicle CaptureRally Vehicle Tracker
Cuts RecordingDriveline Recording

UI

Resources

BeamNG Game Engine Lua Cheat SheetGE Developer RecipesMCP Server Setup

// RLS.STUDIOS=true

Premium Mods for BeamNG.drive. Career systems, custom vehicles, and immersive gameplay experiences.

Index

HomeProjectsPatreon

Socials

DiscordPatreon (RLS)Patreon (Vehicles)

© 2026 RLS Studios. All rights reserved.

Modding since 2024

API ReferenceGE Extensionsgameplayrallyrecce

Driveline Recording

Loads a recorded driveline file from a recce run and returns a `PointList`. A driveline is a series of timestamped position/orientation points captured during reconnaissance driving.

Loads a recorded driveline file from a recce run and returns a PointList. A driveline is a series of timestamped position/orientation points captured during reconnaissance driving.


Exports

FunctionSignatureReturnsDescription
M.load(missionDir)PointList | nilLoads driveline from JSONL file; returns nil on failure

How It Works

Load Flow

  1. Resolves driveline file path via rallyUtil.drivelineFile(missionDir)
  2. Parses JSONL file, converting each line to a driveline point with pos (vec3), quat (quat), and ts (timestamp)
  3. Requires at least 3 points for a valid driveline
  4. Creates a PointList from raw points
  5. Calls setupPointRelationships() (links prev/next pointers)
  6. Calls setupPointNormals() (calculates forward normals)
  7. Logs load time and point count

Point Structure (per JSONL line)

{
  pos = vec3(x, y, z),    -- world position
  quat = quat(x, y, z, w), -- vehicle orientation
  ts = 1234.567           -- timestamp in seconds
}

Dependencies

  • rallyUtil - file path helpers and timing
  • jsonlUtils - JSONL parser
  • PointList - linked-list point container with relationship/normal setup
local drivelineRecording = require('/lua/ge/extensions/gameplay/rally/recce/drivelineRecording')
local pointList = drivelineRecording.load(missionDir)
if pointList then
  -- pointList has .points array, each with .pos, .quat, .prev, .next, .normal
  local firstPoint = pointList.points[1]
end

See Also

  • cutsRecording - Recce Cuts Loader - Related reference
  • Gameplay Systems Guide - Guide

Cuts Recording

Loads recce cut recordings and their associated speech-to-text transcripts from JSONL files. Cuts are waypoint markers where the co-driver made voice recordings during reconnaissance.

Geo Pacenotes

Measures pacenote corner geometry by fitting circles to driveline points. Calculates corner severity, direction, radius, arc length, and fit quality. Provides debug visualization with 3D arc prisms.

On this page

ExportsHow It WorksLoad FlowPoint Structure (per JSONL line)DependenciesSee Also