Vite + TypeScript + three.js + Rapier raycast vehicle, fixed 60 Hz step. Flat plate, seeded obstacle scatter, chase camera, debug HUD. Car condition (engine/tires/chassis) degrades permanently and is derived into handling numbers, so decline is felt through the wheel rather than read off a meter. src/sim/ is kept free of three.js and Rapier imports — the later heat, region and front-line systems all live there, and staying engine-free is what makes them unit-testable without a browser. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
24 lines
499 B
JSON
24 lines
499 B
JSON
{
|
|
"name": "drive-between-the-lines",
|
|
"private": true,
|
|
"version": "0.0.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc --noEmit && vite build",
|
|
"preview": "vite preview",
|
|
"test": "vitest run",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@dimforge/rapier3d-compat": "^0.19.3",
|
|
"three": "^0.185.1"
|
|
},
|
|
"devDependencies": {
|
|
"@types/three": "^0.185.4",
|
|
"typescript": "^7.0.2",
|
|
"vite": "^8.2.1",
|
|
"vitest": "^4.1.10"
|
|
}
|
|
}
|