fix to watchable interface to properties taht are arrays, caching of materials in materialdef, a bit of force normal to intersectiosn for characters