Are door margins necessary?

Is there any AI-related reason for non-zero door margin? Right now I see no purpose of it and it limits the possibilities significantly. With empty doorways added and margin removed I could create stunning loggias without having to use the buggy and slow slab tool.


What do you mean by “door margins”?

Doors uses a 3 wide block space, plus require 1 more space around it for some arbitrary reason. You can’t put it exactly next to a corner of a building for example.


Ah, that. Yes, I agree. Windows don’t need 1-block margins around them and they work just fine.

This is one is set to be addressed with the new building update :smiley:


Well, well, well… one could say it’s quite @sweet to hear that…

(no need to stand, I’ll show myself out)


I didn’t mention windows, but their margins are also unnecessary.

Before I ask next questions (because I have some): is there anything the next building update is planned to cover?

Windows canbe placed right next to each other and to edges i think? (I might be wrong, but they definitely can be placed next to each other)
But they do need to be placed two blocks high, which i suppose is a limitation

1 Like

They use the same margin table as doors in stonehearth:fixture part of the ghost.json with top and bottom margins set to 1. Removing the table makes them placeable at the very top and bottom of the wall, what I need for my loggia arches set.

1 Like

Windows will be included in this yes.

Building is going to get a complete overhaul. I don’t have a running list anywhere of all the things that will be addressed but I can say pretty confidently almost everything will be changed in some way.


OK, so I was trying to force-set margins to 0 via modifying FixtureComponent:get_margin() and while it works in the Lua console (returns 0’s) the building editor still acts as if the margins were in place. Modifying initialize() to set margins and json margins to 0’s doesn’t work so I literally have no idea where the editor takes margin data from (if it creates a new ghost fixture based on json data then there’s no place in the code responsible for getting margin data and I cannot find the place where the ghost fixture is instantiated).

I’ll try to reverse-engineer the ghost fixture part to see how exactly it gets the data.