I just thought about the following, and I'd like your opinions on it: Away3D(lite)'s Object3D class extends Sprite. A simple defenition of a Sprite instance is that it is something that you can see on the screen. An Object3D doesn't necessarily need to be seen, right? Looking at the class hierarchy in the flash.display package: Object <= EventDispatcher <=DisplayObject <=InteractiveObject <= DisplayObjectContainer <=Sprite, wouldn't it me more obvious for Object3D to be called DisplayObject3D and inherit EventDispatcher and like DisplayObject, implement IBitmapDrawable?
Then, on the other hand, Camera3D extends Object3D. But Camera3D is not something that you can see. Of course, it plays a part in the 3d scene, but my opinion is that Camera3D is abstract; it should only represent a 3d location with an orientation an focus, zoom, etc... Another thing; Why does Mesh render draw itself using the Utils3D.projectVectors(); Shouldn't a Renderer be in the position of drawing other objects? Don't get me wrong guys, I don't mean to condemn the engine, it's just that I was wondering if it could be done better, or more logical. -Declan
