?bakeEnv: capture the scene-derived environment once and hand it back as the
container luxar env attach writes into the store.
The capture is the very same SceneEnvironment.captureScene a live scene source
runs — so what gets baked is exactly what a viewer would have captured live — read
back as HALF floats (a PNG would clip everything above 1.0 and destroy the highlights
that make metals read). The container is defined once, in
luxar.environment.container (Python) and mirrored here: LXENV001, a little-endian u32
header length, a UTF-8 JSON header, then the six faces as uint16 half bits in
three's px, nx, py, ny, pz, nz order, RGBA, GL memory (bottom-up) row order.
?bakeEnv: capture the scene-derived environment once and hand it back as the containerluxar env attachwrites into the store.The capture is the very same
SceneEnvironment.captureScenea livescenesource runs — so what gets baked is exactly what a viewer would have captured live — read back as HALF floats (a PNG would clip everything above 1.0 and destroy the highlights that make metals read). The container is defined once, inluxar.environment.container(Python) and mirrored here:LXENV001, a little-endian u32 header length, a UTF-8 JSON header, then the six faces asuint16half bits in three'spx, nx, py, ny, pz, nzorder, RGBA, GL memory (bottom-up) row order.