So, let me say first that I'm fairly comfortable with 3D editors having authored quite a few game maps for other games. Second, I realize that many players are not familiar with 3D editing so housing needs to be simple and accessible for them. I think the solution is to have both a basic and an advanced mode for the editor.
- Precise positioning of items is difficult. There are several factors that contribute to this issue: a) the camera is really 1st person view and movement physics are still active, b) camera swivel granularity is fixed, c) camera is fixed to player perspective, so can't accurately see an items position on an elevated surface. I think the best fix is to switch to a disembodied camera view that can be moved independently of player position. Then add an camera up/down elevation so we can access shelves/high places, and a switch for coarse/fine movement. (This could be an advanced mode option.)
- Need an item orientation reset button. When aligning items to a surface, sometimes things go terribly wrong. Just need a button to reset the item back to default (globally aligned) orientation.
- Allow items to be "Grabbed" anywhere, not just in the center. When you select an item, the camera aligns to the center of the object. This is fine for small objects, but for very large objects that are near the camera, you can no longer see the target area. For example, you can't fine-tune the position of a big tree when standing near it with surface snap disabled because the camera will "grab" the middle of the tree and you'll be looking in the sky while try to place it. If you can't get far enough away, you're out of luck.
- Align items with other items. This would be very helpful when trying to create larger structures from smaller items - such as walls from stone blocks. When manipulating an object, have an option to snap the orientation of an object to that of a nearby (or selected) object. So, to build a wall, I would start with an anchor block, then all subsequent blocks would share the orientation of the anchor.
- Save/restore house layout. Pretty straightforward, simple UI and backend DB support.
Some less simple suggestions:
- Group items. This would be very nice if you want to move a group of items as one.
- Allow per-axis locking of item position and/or orientation. This would let you orient items, then move them without disturbing the global alignment.