Repository Guidelines
Project Structure & Module Organization
The Godot project root lives at project.godot, so keep it versioned whenever you change project settings or input maps. Playable content sits under scenes/, with TestSlope.tscn configured as the main entry point and Car.tscn providing reusable vehicle pieces. Gameplay scripts reside in scripts/; keep filenames aligned with their node owners and leave autogenerated .gd.uid files intact. Shared materials and physics resources are stored under materials/, while GDRIVE_RACERS_DEV_PLAN.yaml captures roadmap notes—update it when scope or priorities shift.
Build, Test, and Development Commands
Use Godot 4.4.x for all work. godot4 --path . --editor launches the editor and ensures resources reimport correctly after asset or input changes. godot4 --path . --run plays the main scene listed in project.godot. For quick smoke tests without the editor, run godot4 --path . --run scenes/TestSlope.tscn to spawn directly on the slope.
Coding Style & Naming Conventions
Scripts follow GDScript 2 with four-space indentation and snake_case for variables and functions (see scripts/CarBody.gd). Exported properties stay grouped at the top with @export, and private helpers keep a leading underscore. Name scenes, nodes, and resources in PascalCase (TestSlope, CameraRig) to match editor expectations. Keep physics constants centralized at the top of each file and use typed variables to avoid implicit casts.
Testing Guidelines
There is no automated test harness yet, so rely on manual playthroughs. Before opening a PR, run godot4 --path . --run scenes/TestSlope.tscn and verify steering, downhill boost, and reset behaviour. If you tweak physics or camera settings, capture a short screen recording or describe the validation steps in the PR description.
Commit & Pull Request Guidelines
The repository has no established commit history; adopt an imperative subject such as Add tighter lateral damping and keep commits scoped to one gameplay concern. Commit both .tscn and .gd updates together so the scene graph stays consistent. Pull requests should include a concise summary, testing notes, and relevant screenshots or GIFs for visual tweaks. Link planning tasks from GDRIVE_RACERS_DEV_PLAN.yaml when applicable.