One of the first questions coming to mind was how to manage QuakeC.

The quick answer is, we're not sure yet, either we will write code simmilar to Quake's original C code, or we will be re-writing all the QuakeC code over to LUA, we still need to check which method would be the most productive and correct way to follow.
I can't really avoid this as its the original Quake data I'm dealing with.
So I need to expand the non 2^n texture data to 2^n texture data.
I'll probably be running into this quite a lot with the original Quake data.
So I'm guessing what would be needed is to shrink or stretch the dimension in question to the closest base?
Suggestion, would it be possible to have an overload for this function with an enum for example having the following values: None, Nearest, Bilinear (etc?).
If you use this overloaded function TV3D would then check your input image data and scale it up or down to the closest base?
It should be alot more graceful than just using the next base, even though in this case 256 is closer than 512.
Just me suggesting, but you should decide if this is a useful addition or not as you know the engine far-far better since you are the developers of it.

As for progress:
I've finished off animated textures and perfect rendering of Quake skies.

At the moment I'm busy implementing the client structures.