the signals and their derived score are provisional and subject to change.
validate manually before sharing.
ff5c1aaa4e7938356630a42c737cfcac10f1e05enone
# AGENTS.md - TORCS (The Open Racing Car Simulator)
## Project Overview
TORCS is a GPL-licensed open-source racing car simulator written in C/C++.
The project root with all source code is in `torcs/torcs/` (double-nested).
Architecture is plugin-based: rendering, physics, track loading, and AI drivers
are dynamically loaded modules (shared libraries/DLLs).
Version: 1.3.9-test1. No CI/CD pipeline exists. No `.clang-format` or linting config.
## Repository Layout
```
torcs/torcs/
src/interfaces/ # P---
name: torcs-track-authoring
description: Finalize TORCS track XML, runtime assets, generated geometry, materials, previews, and troubleshooting after source, layout, elevation, pits, or raceline workflows are selected.
---
## When to load this skill
Load this skill for final track polish, XML edits, generated asset checks, missing preview warnings, material leaks, trackgen validation, or runtime troubleshooting that is not primarily source extraction, layout fitting, elevation, pitlane integration, or---
name: torcs-elevation-workflow
description: Add, import, diagnose, and apply TORCS track elevation and terrain after accepted layout/pits, including DEM/raster sources, smoothing, road/terrain diff diagnostics, and post-elevation geometry/raceline regeneration.
---
## When to load this skill
Load this skill when the user asks to add or regenerate elevation, import LiDAR/DEM/raster data, fetch elevation profiles, apply road `z`/profile tangents, render road or terrain elevation-difference diagnostics, ---
name: torcs-robot-tutorial-maintenance
description: Use when maintaining the Robot Tutorial, src/doc/robot_tutorial examples, diagrams, downloadable checkpoints, or their Doxygen integration; run portable checks and preserve complete racing behavior across chapters.
---
# Robot Tutorial Maintenance
The TORCS source root is `torcs/torcs/` relative to the repository root. Commands
below use that source root as their working directory. Load `build-torcs` when
building/testing and `torcs-test-writing` whe---
name: torcs-fetch-track-layout
description: Find, fetch, filter, or extract the intended racing layout from OSM relation/way IDs, GPS/polyline data, SVG vector layouts, or raster track maps before building TORCS XML.
---
## When to load this skill
Load this skill when the user asks to find track data, fetch OSM, use relation or way IDs, extract an SVG or map image, identify the correct layout, or prepare source geometry before TORCS XML is built.
Use `torcs-build-track-layout` after the source JSON i---
name: torcs-raceline-workflow
description: Add, tune, generate, and merge visible TORCS raceline layers for a validated track, including trackgen/accc layer order and stripe dependency troubleshooting.
---
## When to load this skill
Load this skill whenever a task involves:
- adding or tuning raceline rendering for a track
- using `trackgen -r`
- merging `.ac` layers into final `.acc` with `accc -g`
- debugging raceline merge crashes or empty output files
## Preconditions
1. Track XML references a ---
name: torcs-convert-track-layout
description: Compatibility router for user requests to convert OSM, GPS, SVG, image, or polyline track layouts into a playable TORCS track; prefer focused source and layout skills for new work.
---
## When to load this skill
Load this skill for broad or legacy prompts such as "convert this layout into a TORCS track", "build from this polyline", "make a track from map data", or when it is unclear whether source extraction or XML fitting is needed.
For new work, prefer ---
name: torcs-installer-for-windows-release
description: Build TORCS x64 release and prepare installer/windows/base from runtime plus doc, then generate the NSIS installer.
---
## When to load this skill
Load this skill whenever a task asks to prepare a Windows release installer payload
or rebuild the TORCS Windows installer from fresh runtime outputs.
This skill is specifically for:
- Release x64 build with MSBuild
- Refreshing `installer/windows/base`
- Keeping manual extras in base (`stripe.exe`, `---
name: torcs-visual-verification
description: Capture TORCS screenshots and verify car textures, pit logos, tracks, and graphical appearance on Linux using an isolated virtual display, software OpenGL, and verified MSAA settings. Use for visual inspection and screenshot updates, rather than non-graphical race validation.
---
# TORCS visual verification (Linux)
Use the actual graphical simulator. Keep the user's desktop and game profile
separate from inspection work. A rendering fixture is evidence of a---
name: build-torcs
description: Build TORCS solution with MSBuild on Windows and run unit tests. Load this skill whenever you need to compile, clean, or test TORCS.
---
## MSBuild Invocation
MSBuild is NOT in PATH. The full path is:
`C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\MSBuild.exe`
Powershell command to find MSBuild, in case the above fails:
```
powershell -Command "& '${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe' -latest -prerelease---
name: windows-shell-workflow
description: Use for Windows/PowerShell command execution, Conda/Python quoting, Glob/Grep path patterns, and avoiding Bash-style shell mistakes in this workspace.
---
## Environment
This workspace runs OpenCode tools on Windows (`win32`). The terminal tool is
named `bash`, but commands are executed by PowerShell. Do not assume Bash
syntax works.
Use this skill before non-trivial shell work, especially when running Conda,
Python one-offs, MSBuild, globbing diagnostics, or---
name: torcs-test-writing
description: Write TORCS unit tests consistently, including robust floating-point assertions for tests.
---
## When to load this skill
Load this skill whenever you add or modify TORCS unit tests (`test/libs/*_test`) and especially when testing physics/simulation code that uses floating-point arithmetic.
## Core rule for floating-point assertions
- Use `EXPECT_NEAR(actual, expected, eps)` for **computed** values.
- Do not default to `EXPECT_FLOAT_EQ` for formula results.
- `E---
name: torcs-build-track-layout
description: Build or rebuild a playable TORCS track layout from accepted OSM, SVG, image, GPS, or cached centerline source data, then close and validate the no-pit XML.
---
## When to load this skill
Load this skill when the user asks to build, rebuild, convert, or validate the drivable TORCS track layout from already accepted source geometry. Typical user phrasing includes "build this track", "turn this OSM/image layout into a TORCS track", "fix closure", "wrong direct---
name: torcs-pitlane-workflow
description: Add pit boxes, pit lane entry/exit, pit materials, and post-pit closure to an accepted TORCS track, using OSM pit data or safe manual placement with 20 pits by default.
---
## When to load this skill
Load this skill after a no-pit layout has been accepted and the user asks to add pits, pit boxes, pit lane entry/exit, pit materials, or make the track race-ready with pit stops.
Use `torcs-build-track-layout` first if direction, source filtering, or no-pit closu---
name: torcs-curb-workflow
description: Add, regenerate, diagnose, and validate TORCS inside and raceline-guided outside curbs before pits, including pit-host-safe fallback placement and post-curb closure.
---
## When to load this skill
Load this skill when the user asks for curbs/kerbs, a finished or race-ready road circuit, the whole track-authoring workflow, curb placement reports, unrealistic long curb runs, or recovery from curb splits that interfere with pit integration.
Use `torcs-build-track-lnone