The object model is pretty clean but I have a serious concern.
I think you need two Object types or a way to tag a collection subset as it stands.
Let me explain.
So a fireplace is a FIXED asset. It's never going to move or change without you physically changing the wall it's attached to. To put a fireplace in the 'objects' array is a problem for me.
Other fixed assets due to building codes also come to mind. T o il et, Sink and Bathtub. If it's got running water it better have a drain or we've got bigger problems. Point here is that also makes it a fixed asset. Short of changing a wall/remodel those objects are never moving.
washer/dryer also has physical hookups that fix it to a location. It's not like a chair, couch or table for instance
gas/electric oven stove has either a special 3 phase 220 plug or a natural gas line which also means it's fixed.
I would suggest an 'attached' versus 'detached' type of Category subset or something of that nature.
I'm not saying this is the best answer but I do challenge you to 'walk thru that door' and see what's behind it. :-)
Probably the easiest fix with your current data model and data flows are to just create:
CapturedRoom.Object.Category.Attached
CapturedRoom.Object.Category.Detached
Regardless of your solution putting a fireplace in the same Object array as a chair might burn the whole thing to the ground. :-)
Can't wait to see Beta 3. Great stuff so far.