For Halo2's cache resources (ie, raw data), it's actually just pools of tag block, data, and vertex buffer data. BlamLib has all of this setup and documented for the most part (eg, CacheableResources.cs
Technically speaking, raw data which isn't part of the global tag buffer is referred to as the geometry cache (though, multilingual strings are an exception to this, as their resource data has it's own dedicated storage scheme). However, it's not just geometry which is stored in these caches (which are dynamically streamed in during the game). Sounds, bitmaps, etc run on the geometry cache system.
I've written code in BlamLib to pretty much take any tag's geometry block info and 'reconstruct' them for use as tags with the HEK (eg, here's the code
for reconstructing BSP resources).
When in source (ie, tag file) form, resource data is stored within a tag's 'geometry block info' field. Later when the cache for a scenario is built, the tag fields associated with the geometry block info are streamed to pagable (ie, dynamically streamable) sections in the cache file itself.
When in source form, resource data is in a platform-independent form. When a cache is built, data is baked into the format best fitted for the target platform (ie, it's morphed into platform-dependent data). In the case of a render model's vertices, the 'raw vertex' elements (found in the source tag) are processed into 'vertex buffer' elements and fields. The Xbox has different vertex buffer formats than the PC (eg, PC doesn't support compressed vertex formats, where the Xbox does). However, BlamLib has the definitions
for each platform (including the Halo2 Xbox MP Alpha) and can read and process their specific vertex buffers. I use the VertexBufferInterface
for implementing the Halo2 tag reconstruction code (for render models, this includes taking the platform dependent vertex buffers and recreating the source 'raw vertex' tag fields).
It's been well over a year since I messed with this part of Halo2 and BlamLib's code so I might have missed something or such.