Just to make it clear, I'm not opposed to using full CSS and libcroco, I just want to make sure it's the right choice.
First, units are nice, but does it support custom units? For maps and other game data, the real world units don't really work for us,
because we support map scaling.
Ok, one use case:
Ed wants to make a maze map where the player only sees the portion of the maze he currently is in. Therefore, he defines all of his walls as "opaque" and disables the HUD map on the clients by giving the map the "nomap" property.
Will that be possible with CSS, WITHOUT giving the user a way to circumvent it by, say, giving the used wall class a different height or a partially transparent texture in his user.css file? Provided we add checksums to resources, of course, so the user can't just edit the downloaded map file
![Smile :)](./images/smilies/icon_smile.gif)
Another concern is whether the simple property -> value mapping CSS provides is enough for most our customizations. It doesn't have to be enough for all of them, the value can always be a reference to something more complicated, but if that is required for every second property that will actually be used, that's one level of indirection more that necessary.
Last concern: Is user customization on that level really something that will be useful in the long term? Right now, for example, wall texture coordinates are autogenerated and walls are always simple, upright rectangles. So you can effectively change the look of a wall by only switching the texture. That is likely to change, however. Artistic mappers will soon demand to be able to select texture coordinates themselves (giving us a nasty problem with map scaling as well), and to give the walls more interesting geometry (slanting them, giving the upper edge a slope, attaching decorative geometry objects like alcoves). And don't get me started about the can of worms of gameplay on arbitrary 3d shapes
![Smile :)](./images/smilies/icon_smile.gif)