# Player-car reflection review, r285

The fresh Chrome 150 capture in `webgl-city/review/images/420-r285-car-reflection-layers.png` uses the packaged `dist/webgl-city` build at the Route 450 drive start. WebGL2 initialized, the scene reached “City scene ready,” and the browser reported no page exceptions or console errors. Viewer diagnostics reported a loaded local environment cube and five active local city-light sources.

## Changes

- Car lamp specular now decodes a negative authored radius as the type-2 retail response. It uses the absolute radius, squared-distance inner/outer attenuation, and the same 0.75 response scale already used by diffuse and road highlights. Before this, the negative radius made the car specular falloff zero.
- Paint now adds environment RGB to the diffuse base instead of replacing most of the body with the panorama. Analytic clearcoat highlights are applied after environment composition so the environment no longer erases them.
- Glass now adds local reflection RGB while preserving the source alpha, alpha mode, blending and depth behavior. No opacity value was guessed.

The shader audit recovered retail RGB as a diffuse contribution plus environment/specular contributions (`car-programmable-shaders-r267.md`). The current reflection and highlight coefficients remain viewer approximations because the live retail harmonic coefficients, bound cube, selected pipeline and blend-state inputs are unavailable.

## Visual result and limits

The capture shows brighter silver body panels and roof reflections, but the body remains too pale and the windows still read as opaque blue-gray. The added RGB reflection did not recover retail glass alpha or show enough recognizable city detail on the paint. The audit of the exporter found that the static GLB has no base-color image or alpha data for the glass variants; retail opacity depends on runtime texture and descriptor state. The car appearance is still not faithful and this update does not complete the visual goal.

## Packaged stock-car roster load check

After the initial capture, Chrome selected each of the 29 options in the packaged car menu in sequence. Every selection reached `City scene ready`, and `window.__nfsuVehicleDebug.car` matched the requested key. There were no runtime exceptions or console errors. The viewer was returned to the 240SX. This verifies that each exported stock asset can load and become the player car; it does not visually inspect every model or verify per-car driving behavior.
