fix(overhaul): integrate reviewed room-light selection repair
Exact26 code/test/architecture/register blobs from621b41fa3; campaign ledger and lead verification included. Independent retail and production/lifetime/ABI reviews PASS. Lead69Core/176App/2actualshader pixels, viewer/clear/NaN negative controls fail as intended, exact restoration69PASS. AP68retired; AP16/35/85 residuals honest. Fresh campaign Release and graphical lighting proof still owed; temporary observer cleanup contract conditional. FPS deferred; no G4 or main merge.
This commit is contained in:
parent
e8efe1131f
commit
a5debaca2b
30 changed files with 928 additions and 399 deletions
|
|
@ -1195,6 +1195,17 @@ no reconstructed fallback. Login and portal-space retain
|
|||
last-frame point-light feedback seam are deleted. Directional shadows remain
|
||||
the next typed landscape consumer (S5-c2).
|
||||
|
||||
Point-light retention follows retail's two independent products: seven dynamic
|
||||
and forty static candidates, with POINT lights ranked from the light owner's
|
||||
explicit root origin using stable forward insertion; SPOT/non-point lights rank
|
||||
at zero. Authored offsets affect the final light position but not the rank. The viewer light is offered to the dynamic product
|
||||
first even when its registration is late. EnvCell shells consume the complete
|
||||
47-entry product through their mode-specific binding-5 stride, while ordinary
|
||||
Gfx/building objects retain the separate eight-entry hardware selection and
|
||||
stride. Both ordinary and atmospheric mesh shaders select that stride from the
|
||||
existing lighting mode; the attenuation, ambient, packing, and per-object
|
||||
selection formulas are otherwise shared and unchanged.
|
||||
|
||||
WorldBuilder contributes DAT decoding, mesh preparation, residency, and Vulkan
|
||||
batch mechanics only; it makes no visibility or ordering decision. Forced merge
|
||||
breaks at walk event boundaries preserve retail order while compatible draws
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue