Vary cars by body style and paint, and hollow the cabin #141

Merged
sermuns merged 2 commits from car-variations into main 2026-10-23 15:12:36 +00:00
Owner

Cars no longer all look the same, and no longer flicker or swallow a seated rider.

Variation

Each car draws one of five body styles (sedan, hatchback, estate, van, pickup) in one of eight paints. Both are derived from the vehicle id — the identity that already crosses the wire — so every client and the server agree on the look without spending a byte on it. Styles share the car's footprint, seats and handling, so they are purely cosmetic.

Hollow cabin

The lower body was a solid box up to the waist, so a seated rider was inside it. It is now a shell: doors, a cabin floor and solid hood/trunk blocks closing the ends, with the greenhouse drawn as open quads. The driver's eye moved from 1.15 to 1.25 so the seat pan sits above the floor.

No z-fighting

Every panel is offset so no two faces share a plane. A regression test (no_car_face_z_fights_another) transforms every car part in every style into its rest pose and fails on any coplanar, overlapping pair; it caught the bumper flush with the nose, the glass box sitting in the body/roof planes, the rim coincident with the tire, and the steering wheel's tube joints.

Backwards compatible — no wire change. Merged under the batch's single major bump to 2.0.0; this branch's own bump commit was dropped on rebase.

just check passes.

Merged

Merged into main as part of the batch (order: #136, #142, #137, #138, #141, #139, #140, #143). The batch carries a single major bump, 1.1.2 → 2.0.0, so this branch's own bump commit was dropped when it was rebased; PROTOCOL_VERSION stays 2. assets/baked/valla.bin was rebaked once at the end of the batch.

Cars no longer all look the same, and no longer flicker or swallow a seated rider. ## Variation Each car draws one of five body styles (sedan, hatchback, estate, van, pickup) in one of eight paints. Both are derived from the vehicle id — the identity that already crosses the wire — so every client and the server agree on the look without spending a byte on it. Styles share the car's footprint, seats and handling, so they are purely cosmetic. ## Hollow cabin The lower body was a solid box up to the waist, so a seated rider was inside it. It is now a shell: doors, a cabin floor and solid hood/trunk blocks closing the ends, with the greenhouse drawn as open quads. The driver's eye moved from 1.15 to 1.25 so the seat pan sits above the floor. ## No z-fighting Every panel is offset so no two faces share a plane. A regression test (`no_car_face_z_fights_another`) transforms every car part in every style into its rest pose and fails on any coplanar, overlapping pair; it caught the bumper flush with the nose, the glass box sitting in the body/roof planes, the rim coincident with the tire, and the steering wheel's tube joints. Backwards compatible — no wire change. Merged under the batch's single major bump to 2.0.0; this branch's own bump commit was dropped on rebase. `just check` passes. ## Merged Merged into `main` as part of the batch (order: #136, #142, #137, #138, #141, #139, #140, #143). The batch carries a single major bump, `1.1.2` → `2.0.0`, so this branch's own bump commit was dropped when it was rebased; `PROTOCOL_VERSION` stays 2. `assets/baked/valla.bin` was rebaked once at the end of the batch.
sermuns force-pushed car-variations from 221e1cdd94 to de831e8d9a 2026-10-23 15:12:31 +00:00 Compare
Sign in to join this conversation.
No description provided.