"working" scenarios: --------------------- vase on a table chairs around the table plates edge of table implemented predicates: ------------------------ center of on top or around beside edge of corner of below - added collision detection TODO: ----- - handling rotations - loading object data (i.e. dimensions) to handle rotations: first assume no rotations, then rotate everything by object's rotation around object's position. Check for collisions now. collision checking: need to apply both predicates before collision checking can apply directly to subject, the placement methods should not rely on subject's current positioning.