The Engine Learned to Read Archives
PK3 support with priority ordering, four texture formats, Quake's _norm and _gloss conventions, and a memory inspector that can tell you what is using it all.
It Opened a Zip File and Found a Game
PK3 support JSZip, multi-path archives
Priority ordering tex_001.pk3 overrides tex.pk3
TGA including RLE
KTX1 DXT/S3TC, ETC, ASTC
JPG / PNGCompanion maps were picked up on Quake and Warsow convention: `_norm` as bump, `_gloss` as specular, automatically. Unsupported formats fall back to a placeholder rather than failing.
The Console Became a Real Tool
pk3 load <file.pk3> pk3 list [pattern] pk3 dir [path]
pk3 info pk3 texture <path> pk3 sets [dir]
pk3 cache pk3 unload
mem mem textures mem meshes
mem engine mem js mem pk3Maps not in the config could now be loaded at runtime with map load, and .gitignore was updated to exclude .pk3 files.
The Actual Pivot
Read this release next to v0.8.0, three weeks later, and the trajectory is unambiguous: archive loading became BSP loading, PK3 textures became map textures, and the missing-bump-map convention became a material pipeline.
Six weeks before that, v0.2.0 had shipped a settings export system for NetRadiant. It is not a coincidence. The engine was being pointed at idTech3 assets long before it was pointed at idTech3 maps.
Known Issues: none stated.