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
Rally Utility ColorsRally JSONL UtilitiesRally Utility Normalizer

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 Extensionsgameplayrallyutil

Rally Utility Colors

Constants module defining all color values and visual parameters used throughout the rally editor and pacenote system. Colors are RGB float arrays `{r, g, b}` or ImGui `ImVec4` for UI elements.

Constants module defining all color values and visual parameters used throughout the rally editor and pacenote system. Colors are RGB float arrays {r, g, b} or ImGui ImVec4 for UI elements.


Color Constants

| Key | Value | Description | |-----|------ | M.new_pacenote_cursor_linkToWidth | number | 0.25 | | M.new_pacenote_cursor_linkFromWidth | number | 1.0 | | M.new_pacenote_cursor_linkHeightRadiusShinkFactor | number | 0.5 | | M.new_pacenote_cursor_alpha | number | 0.8 | | M.new_pacenote_cursor_clr_ce | any | M.clr_light_red | | M.new_pacenote_cursor_clr_cs | any | M.clr_light_green | | M.new_pacenote_cursor_clr_link | any | M.clr_white | | M.waypoint_planeAlphaFactor | number | 3.2 | | M.waypoint_shapeAlpha_intersectPlane | number | 0.97 | | M.waypoint_textAlpha_hover | number | 1.0 | | M.waypoint_alpha_selected | number | 0.3 | | M.waypoint_alpha_shape_background | number | 0.3 | | M.waypoint_alpha_text_background | number | 0.3 | | M.waypoint_clr_background | any | M.clr_grey_dark | | M.waypoint_clr_sphere_selected | any | M.clr_white | | M.waypoint_clr_txt_bg | any | clr_label_bg | | M.waypoint_clr_txt_fg | any | clr_label_fg | | M.waypoint_clr_ce_adjacent_bg | any | M.clr_red_dark | | M.waypoint_clr_ce_adjacent | any | M.clr_red_pastel | | M.waypoint_clr_cs_adjacent_bg | any | M.clr_green_dark | | M.waypoint_clr_cs_adjacent | any | M.clr_green_pastel | | M.pacenote_clr_link_bg | any | clr_label_bg | | M.pacenote_clr_link_fg | any | clr_label_fg | | M.pacenote_clr_cs_to_ce_direct | any | M.clr_grey_light | | M.pacenote_clr_interlink_txt | any | M.clr_black | | M.pacenote_linkToWidth | number | 0.25 | | M.pacenote_linkFromWidth | number | 1.5 | | M.pacenote_linkHeightRadiusShinkFactor | number | 0.5 | | M.pacenote_alpha_recce | number | 0.1 | | M.pacenote_base_alpha_next | number | 0.5 | | M.pacenote_base_alpha_prev | number | 0.5 | | M.pacenote_base_alpha_no_sel | number | 0.5 | | M.pacenote_base_alpha_background | number | 0.5 | | M.pacenote_shapeAlpha_factor | number | 0.8 | | M.cam_last_pos_alpha | any | M.snaproads_alpha | | M.cam_last_pos_radius | any | M.snaproads_radius * 2 | | M.pacenote_adjacent_radius_factor | number | 0.5 | | M.recce_cut_clr | any | M.clr_teal | | M.recce_driveline_clr | any | M.snaproads_clr_recce | | M.recce_alpha | any | M.snaproads_alpha | | M.snaproads_alpha_cameraPoint | number | 0.5 | | M.snaproads_alpha_driving | number | 0.2 | | M.snaproads_alpha | number | 0.8 | | M.clr_grey_dark | table | {0.2, 0.2, 0.2} | | M.clr_grey_light_2 | table | {0.8, 0.8, 0.8} | | M.clr_grey_light | table | {0.75, 0.75, 0.75} | | M.clr_grey | table | {0.5, 0.5, 0.5} | | M.clr_aqua | table | {0.0, 0.8, 0.8} | | M.clr_pink | table | {1.0, 0.0, 1.0} | | M.clr_blue_light | table | {0.392,0.612,1} | | M.clr_blue | table | {0.0, 0.0, 1.0} | | M.clr_red_pastel | table | {1, 0.494, 0.635} | | M.clr_light_red | table | {1.0, 0.5, 0.5} | | M.clr_red_dark | table | {0.5, 0.0, 0.0} | | M.clr_green_pastel | table | {0.718, 1, 0.455} | | M.clr_lime_green | table | {0.66, 1.0, 0.0} | | M.clr_light_green | table | {0.5, 1.0, 0.5} | | M.clr_green_dark | table | {0.0, 0.5, 0.0} |-|-------------| | clr_white | {1, 1, 1} | White | | clr_black | {0, 0, 0} | Black | | clr_green | {0, 1, 0} | Bright green | | clr_red | {1, 0, 0} | Bright red | | clr_teal | {0, 0.76, 0.55} | Primary rally teal | | clr_teal_2 | {0, 1, 0.58} | Brighter teal variant | | clr_yellow | {1, 1, 0} | Yellow | | clr_orange | {1, 0.64, 0} | Orange | | clr_purple | {0.73, 0, 1} | Purple | | clr_error | ImVec4(1, 0.2, 0.2, 1) | Error red (ImGui) | | clr_no_error | ImVec4(0.2, 1, 0.2, 1) | Success green (ImGui) |

Visual Parameters - Snaproads

KeyValueDescription
snaproads_radius0.7Default sphere radius
snaproads_radius_recce0.5Recce mode radius
snaproads_radius_driving0.2Driving mode radius
snaproads_clr_recceredRecce driveline color
snaproads_clr_routeorangeRoute color

Visual Parameters - Pacenotes

KeyValueDescription
pacenote_alpha_interlink0.5Link line opacity
pacenote_base_alpha_selected0.5Selected pacenote alpha
pacenote_alpha_text_selected1.0Selected text alpha
pacenote_clr_interlinkpinkInter-pacenote link color

Visual Parameters - Waypoints

KeyValueDescription
waypoint_clr_csgreenCorner-start color
waypoint_clr_ceredCorner-end color
waypoint_clr_sphere_hoverwhiteHover highlight
waypoint_shapeAlpha_hover0.95Hover shape opacity

How It Works

This is a pure data module - no logic, just constants. Required by virtually all rally editor drawing code:

local cc = require('gameplay/rally/util/colors')

-- Draw a sphere with rally teal
debugDrawer:drawSphere(pos, 1.0, ColorF(cc.clr_teal[1], cc.clr_teal[2], cc.clr_teal[3], 0.8))

-- Use waypoint colors for corner-start/end
local csClr = cc.waypoint_clr_cs  -- green
local ceClr = cc.waypoint_clr_ce  -- red

Notes

  • RGB arrays use float range [0, 1] not [0, 255]
  • ImGui colors (ImVec4) are only used for clr_error / clr_no_error
  • Teal (clr_teal) is the primary brand color for the rally system

Module Variables

VariableTypeDescription
M.clr_green_darktable{0.0, 0.5, 0.0}
M.clr_light_greentable{0.5, 1.0, 0.5}
M.clr_lime_greentable{0.66, 1.0, 0.0}
M.clr_green_pasteltable{0.718, 1, 0.455}
M.clr_red_darktable{0.5, 0.0, 0.0}
M.clr_light_redtable{1.0, 0.5, 0.5}
M.clr_red_pasteltable{1, 0.494, 0.635}
M.clr_bluetable{0.0, 0.0, 1.0}
M.clr_blue_lighttable{0.392,0.612,1}
M.clr_pinktable{1.0, 0.0, 1.0}
M.clr_aquatable{0.0, 0.8, 0.8}
M.clr_greytable{0.5, 0.5, 0.5}
M.clr_grey_lighttable{0.75, 0.75, 0.75}
M.clr_grey_light_2table{0.8, 0.8, 0.8}
M.clr_grey_darktable{0.2, 0.2, 0.2}
M.snaproads_alphanumber0.8
M.snaproads_alpha_drivingnumber0.2
M.snaproads_alpha_cameraPointnumber0.5
M.recce_alphaanyM.snaproads_alpha
M.recce_driveline_clranyM.snaproads_clr_recce
M.recce_cut_clranyM.clr_teal
M.pacenote_adjacent_radius_factornumber0.5
M.cam_last_pos_radiusanyM.snaproads_radius * 2
M.cam_last_pos_alphaanyM.snaproads_alpha
M.pacenote_shapeAlpha_factornumber0.8
M.pacenote_base_alpha_backgroundnumber0.5
M.pacenote_base_alpha_no_selnumber0.5
M.pacenote_base_alpha_prevnumber0.5
M.pacenote_base_alpha_nextnumber0.5
M.pacenote_alpha_reccenumber0.1
M.pacenote_linkHeightRadiusShinkFactornumber0.5
M.pacenote_linkFromWidthnumber1.5
M.pacenote_linkToWidthnumber0.25
M.pacenote_clr_interlink_txtanyM.clr_black
M.pacenote_clr_cs_to_ce_directanyM.clr_grey_light
M.pacenote_clr_link_fganyclr_label_fg
M.pacenote_clr_link_bganyclr_label_bg
M.waypoint_clr_cs_adjacentanyM.clr_green_pastel
M.waypoint_clr_cs_adjacent_bganyM.clr_green_dark
M.waypoint_clr_ce_adjacentanyM.clr_red_pastel
M.waypoint_clr_ce_adjacent_bganyM.clr_red_dark
M.waypoint_clr_txt_fganyclr_label_fg
M.waypoint_clr_txt_bganyclr_label_bg
M.waypoint_clr_sphere_selectedanyM.clr_white
M.waypoint_clr_backgroundanyM.clr_grey_dark
M.waypoint_alpha_text_backgroundnumber0.3
M.waypoint_alpha_shape_backgroundnumber0.3
M.waypoint_alpha_selectednumber0.3
M.waypoint_textAlpha_hovernumber1.0
M.waypoint_shapeAlpha_intersectPlanenumber0.97
M.waypoint_planeAlphaFactornumber3.2
M.new_pacenote_cursor_clr_linkanyM.clr_white
M.new_pacenote_cursor_clr_csanyM.clr_light_green
M.new_pacenote_cursor_clr_ceanyM.clr_light_red
M.new_pacenote_cursor_alphanumber0.8
M.new_pacenote_cursor_linkHeightRadiusShinkFactornumber0.5
M.new_pacenote_cursor_linkFromWidthnumber1.0
M.new_pacenote_cursor_linkToWidthnumber0.25
M.clr_errorvalue-
M.clr_greenvalue-
M.clr_no_errorvalue-
M.clr_orangevalue-
M.clr_purplevalue-
M.clr_redvalue-
M.clr_teal_2value-
M.clr_yellowvalue-
M.pacenote_alpha_interlinkvalue-
M.pacenote_alpha_text_selectedvalue-
M.pacenote_base_alpha_selectedvalue-
M.pacenote_clr_interlinkvalue-
M.snaproads_clr_routevalue-
M.snaproads_radius_drivingvalue-
M.snaproads_radius_reccevalue-
M.waypoint_clr_cevalue-
M.waypoint_clr_csvalue-
M.waypoint_clr_sphere_hovervalue-
M.waypoint_shapeAlpha_hovervalue-

See Also

  • Rally JSONL Utilities - Related reference
  • Rally Utility Normalizer - Related reference
  • Gameplay Systems Guide - Guide

Rally Transcripts Vehicle Snapshot

Lightweight class representing a single vehicle position/rotation snapshot within a transcript. Acts as a data holder for position, quaternion, steering angle, timestamp, and corner call.

Rally JSONL Utilities

Utility module for reading JSON Lines (JSONL) files - line-delimited JSON format used for recce recordings (driveline, cuts, transcripts).

On this page

Color ConstantsVisual Parameters - SnaproadsVisual Parameters - PacenotesVisual Parameters - WaypointsHow It WorksNotesModule VariablesSee Also