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.
Post
Replies
Boosts
Views
Activity
/// An object to configure the capture process
public struct Configuration {
public var isCoachingEnabled: Bool
public init()
}
If I ask nicely would someone please add a few more features to this?
Specifically, I would LOVE to be able to just detect a ROOM with no objects.
Then I would also like to be able to pass a map of CapturedRoom.Object.Category objects to filter on or use for render.
So for example I would pass into Configuration something like RoomCategory collection for the visualizer and USDZ model file. :
[Category : SimpleMaterial]
.sink: return SimpleMaterial(color: .systemBlue,
roughness: roughness, isMetallic: false)
.toilet: return SimpleMaterial(color: .systemTeal,
roughness: roughness, isMetallic: false)
.bathtub: return SimpleMaterial(color: .systemGreen,
roughness: roughness, isMetallic: false)
So the above would override the default of rending ALL known objects to just render the three above and give them the color I've laid out.
While I'm at it, Beta 1 and Beta 2 changed a few things on this list. "screen" is a better name than "television". I also miss the ".unknown" category.
Here is what was in Beta 1:
.unknown
.storage
.refrigerator
.stove
.bed
.sink
.washer
.toilet
.bathtub
.oven
.dishwasher
.table
.sofa
.chair
.fireplace
.screen
.stairs
The list above changed with Beta 2 that just shipped.
So in Beta 2 .unknown was REMOVED, .washer is now .washerDryer and .screen is now .television.
This API is super cool and amazing. I've really enjoyed working with it.