I found this problem. A bed in “inside” must have floating blocks at center of xy position of the bed.
eg) bed have 5x3 as xy size, and floating blocks should cover center of bed.
□ = no block above requried
■ = floating block required
So, hearthling thinks the bed is inside of house even in following extreme case.
- Place a bed at any ground.
- Build a custom building consist of only 5 blocks which 4 tiles apart from ground, see shape above.
4 tiles apart make hearthling to feel “very cramped environment”, so I suggest make it at least 6 tiles apart.
Another non-related tip I leave.
Placing beds very close each other make hearthlings to feel "slept in shared room"
Making 4 tile height x 5 tile length slab between beds can make avoid this.
A side of a bed should be empty. If bed is enclosed in both sides, hearthling cannot reach to bed…