Today I started something new (the machine I normally use to work on the Ward BRDF was busy compiling updates for FreeBSD 8.0). With the chair model I had the problem, that I didn't want to assign the same material to multiple objects. I want to be able to create one material and link the others to it, so every change is reflected in all objects. I started to implement that and already have implemented quite a bit of it.
The hardest part starts when I have finished with implementing the things I started today. Then I have to test the program and I already know, that a lot of asserts will be firing. When I originally implemented the material handling I didn't have the idea to make it possible to link materials and so put in a lot of asserts which make sure, that the materials are owned by the object using them. I will have to find and fix those, removing them isn't enough, I also have to check, that the code is indeed working with the new design.