Rally Dev Tools
ImGui panel for rally development tools in the world editor. Provides text compositor enumeration, corner detection from driveline, pacenote generation, elevation profile analysis, and traffic exclusi
ImGui panel for rally development tools in the world editor. Provides text compositor enumeration, corner detection from driveline, pacenote generation, elevation profile analysis, and traffic exclusion zone management.
Constructor
local DevTools = require('/lua/ge/extensions/gameplay/rally/tools/devTools')
local dt = DevTools()Public API
| Function | Signature | Returns | Description |
|---|---|---|---|
C:init | () | nil | Loads available compositors, initializes pacenotes tools state |
C:draw | () | nil | Renders the ImGui panel |
C:onUpdate | () | nil | Per-frame drawing of elevation profile and driveline debug |
C:onVehicleResetted | () | nil | No-op placeholder |
C:isPacenotesToolsSectionExpanded | () | boolean | Whether pacenotes tools section is open |
M.drawGameSettings | () | nil | drawGameSettings |
M.drawDrivelinePoints | () | nil | drawDrivelinePoints |
Compositor Enumeration
| Function | Signature | Description |
|---|---|---|
C:loadCompositors | () | Discovers all compositor modules in the compositors directory |
C:enumerate | () | Enumerates all phrases for selected compositor, writes to JSON |
C:enumeratorOutFname | () | Returns output path: /temp/rally/enumerated_<name>.json |
Corner Detection & Pacenote Generation
| Function | Signature | Description |
|---|---|---|
C:calculateCorners | () | Detects corners from driveline points using PacenoteGenerator |
C:storeCorners | (corners) | Stores detected corners for visualization |
C:storeDrivelinePoints | (points) | Stores driveline points for 3D visualization |
C:clearDrivelinePoints | () | Clears stored driveline and corner data |
Elevation Profile
| Function | Signature | Description |
|---|---|---|
C:storeElevationProfile | (profile) | Stores elevation data with stats calculation |
C:exportElevationProfileToJson | () | Exports profile to /temp/rally/elevation_profile_<timestamp>.json |
C:drawElevationProfilePoints | () | Renders profile points as colored spheres in 3D |
How It Works
ImGui Sections
- Enumerate Text Compositors - Select compositor, enumerate all phrases to JSON for TTS generation
- Pacenotes Tools - Corner detection with tunable parameters, pacenote generation, driveline visualization
- Traffic - Create/clear traffic exclusion zones from mission paths
- Game Settings - Shows current
rallyTextCompositorVoicesetting
Corner Detection Parameters
- Look Ahead Context (1-10): How many nodes to analyze for direction changes
- Straight Threshold (0.5-15°): Angle below which is considered straight
- Merge Distance (0.1-5m): Distance threshold for merging short straights
- Simplify Iterations (1-20): Max simplification passes
Driveline Debug Visualization
When corners are detected, draws colored lines:
- Blue = left turns
- Red = right turns
- Dark grey = straights
local dt = DevTools()
dt:draw() -- Renders ImGui panel
dt:onUpdate() -- Updates 3D debug visualizationsSee Also
- loopToolbox - Rally Loop Debug Panel - Related reference
- rallyToolbox - Rally Debug Toolbox Panel - Related reference
- Gameplay Systems Guide - Guide
Route Tracking Test
Debug extension for testing the route tracking system. Creates a simple 3-point route and tracks the player vehicle along it with debug visualization.
Rally Loop Toolbox
ImGui debug panel for rally loop mode. Displays mission schedule, timing, penalties, proximity data, signboard locations, and provides vehicle/clock controls for testing multi-stage rally events.