The Deluxe Pipeline, Nine Months Waiting
Warsow's if deluxe / if ! deluxe blocks finally parsed correctly, a cinematic camera with Bezier paths, and protocol codec tests that pin every byte.
Closing A Caveat From v0.8.5
In January this project wrote down, in its own Known Limitations:
if ! deluxe / if deluxe blocks are not parsed correctly.
All stages from all blocks are mergedNine months later: Q3ShaderParser and Q3ShaderTypes preserve Warsow/QFusion `material` payloads with their `if deluxe` / `if ! deluxe` branches intact, and resolveMaterialProps() is deluxe-aware and caches by deluxe mode.
The rest of the pipeline followed:
- Classic
$lightmapis no longer misclassified as multiply-transparent. BspMeshBuilderprefers deluxe metadata over suffix guessing, falling back
to _norm/_normal/_bump/_gloss/_spec only when absent.
- Glow and emissive survive the lightmap pass.
- Warsow
_gloss→microSurfaceTexturewith metallic = 0. - Lightmap index 0 handled correctly.
Two cvars, both default-on and both reload-only: r_deluxe and r_bsp_pbr.
Highlights, Automatically
DemoAnalyzer scores frags, multi-kills, airborne kills, first blood and high speed. SequenceBuilder makes timed cuts with padding, de-duplication and a budget. CinematicCameraPaths builds Bezier spline paths with tracking and easing. demoplay cinematic is wired to CameraSystem.
And The Byte-Pinning Tests
988 tests across 52 files (up from 838)
ProtocolCodecs.test.ts 73 testsMessageCodec round-trips, MessageType bytes 0x01-0x0F and 0x81-0x8F, all 12 event codepoints, and the full delta-flag matrix 0x01 0x02 0x04 0x08 0x10 0x20.
Writing a test that fails when a wire byte moves is a different kind of promise from writing a test that a function returns a value. This is the first release where the protocol is treated as a compatibility surface.
Also
Demo archive cards with 140px levelshot banners, CRT scanlines, a bottom vignette, a 404 fallback to gametype hue, and hidden-<img> preloading for every map in the pool. A grenade launcher trail bug fixed — single ribbon, "avoids reading as delayed duplicate".
Known Issues: none stated.