Rally Transcripts Entry
Class-based object representing a single transcript entry in the rally editor. Stores vehicle position/rotation data, speech-to-text results, and capture data for pacenote corner analysis. Provides de
Class-based object representing a single transcript entry in the rally editor. Stores vehicle position/rotation data, speech-to-text results, and capture data for pacenote corner analysis. Provides debug visualization of a 3D car shape and color-coded capture points.
Constructor
local Entry = require('gameplay/rally/transcripts/entry')
local entry = Entry(path, name, forceId)| Parameter | Type | Description |
|---|---|---|
path | object | Parent path with getNextUniqueIdentifier() |
name | string? | Display name (defaults to "t_"..id) |
forceId | number? | Override auto-generated ID |
Methods
| Method | Signature | Returns | Description |
|---|---|---|---|
toggleShow | () | nil | Toggle visibility |
setShow | (val) | nil | Set visibility flag |
isUsable | () | bool | Has valid vehicle_data and is visible |
debugDrawText | (hovered) | string | Returns text label (adds "click to copy" when hovered) |
vehiclePos | () | vec3? | Vehicle position from vehicle_data |
vehicleQuat | () | quat? | Vehicle rotation from vehicle_data |
capture_data | () | table? | Steering capture data |
get_grouped_captures | () | table? | Groups captures by corner call, with gradient colors |
onSerialize | () | table | Serialize to JSON-safe table |
onDeserialized | (data, oldIdMap) | nil | Restore from serialized data |
drawDebug | (is_hovered, is_selected) | nil | Draw 3D car shape + capture dots |
playCameraPath | () | nil | Play camera path along capture points |
lookAtMe | () | nil | Point camera at this entry's vehicle position |
Internals
- Fields:
id,name,sortOrder,show,text,success,src,file,beamng_file,timestamp,vehicle_data,grouped_captures - Debug drawing: Renders a box-prism car shape with 4 wheel spheres, colored teal (normal), white (hovered), or bright teal (selected)
- Capture grouping: Groups sequential captures by corner call string, assigns gradient colors from red→yellow→green based on corner angle data
- Camera path: Converts capture data into a
core_pathscompatible path and plays it
Dependencies
gameplay/rally/util/colors- color constantsgameplay/rally/util-determineCornerCall(),setCameraTarget()core_paths- camera path playback
How It Works
- Each entry stores STT transcript text and vehicle snapshot data from a recce recording
get_grouped_captures()processes steering capture data against corner angle definitions to classify each point (e.g., "3L", "C")- Sequential captures with the same corner call are grouped together, with a label drawn at the midpoint
- Debug visualization draws a 3D prism car at the recorded position and colored spheres along the driving line
-- Check if an entry has usable data
if entry:isUsable() then
local pos = entry:vehiclePos()
local groups = entry:get_grouped_captures()
for _, grp in ipairs(groups) do
print(grp.calc.cornerCallStr) -- e.g. "3L", "C", "5R"
end
end| Function | Signature | Returns | Description |
|---|---|---|---|
M.drawDebugVehicleData | (is_hovered, is_selected) | nil | drawDebugVehicleData |
M.drawDebugCaptureData | (is_hovered, is_selected) | nil | drawDebugCaptureData |
See Also
- Rally Transcripts Path - Related reference
- Rally Transcripts Vehicle Snapshot - Related reference
- Gameplay Systems Guide - Guide
Rally Toolbox
Comprehensive ImGui debug panel for rally stage development. Provides visualization controls for race paths, driveline routes, pacenotes, KD-tree spatial queries, and mouse-as-vehicle simulation.
Rally Transcripts Path
Class-based container managing a sorted list of transcript entries. Handles loading/saving transcript files and debug visualization of all entries.