You could probably dump all of your custom graphics, sounds, and models into one large folder, but the convention is to seperate them into their respective folders
actually, many things must be in the correct folder.
In many cases, .md3 models and .ase models do not have to be included in the .pk3, because they get cooked into the .bsp at compile time.
It might also be worth mentioning that you should not include a .campaign file in your .pk3 (because players will be required to download it even if it is not in rotation)
As an example, if you look at my textures folder, I have 4 subfolders for all of my custom textures.
- dubrovnik. Textures from a map named Dubrovnik
- egyptsoc_floor. Textures from an Egyptian set by Sock
- iffy. Textures created by me. Notice that anything created by me goes into a subfolder called ‘iffy’
- sub_art. Framed paintings by Subverse
I suggest you do not do this. Instead put them all under
textures/yourmapname
Otherwise, suppose that you use a texture from egyptsoc_floor without a shader. Some other map uses the same texture, under the same name, but also includes a shader with the same name. Suddenly, one of your maps breaks the other. It is much simpler to just keep everything under a unique name.