jharwell / prism

Parallel Construction Using Graphical Invariants
GNU General Public License v3.0
1 stars 0 forks source link

enh/25-level0-heterogeneous blocks #25

Open jharwell opened 4 years ago

jharwell commented 4 years ago

Before I can ever get to full 3D construction, robots need to be able to know when they can/cannot place a ramp block on a given cell. Right now, the preconditions are such that a ramp block can and will be placed anywhere a cube block can, which is incorrect.

I would rather not rely on structure query to say "what should go here?", and instead adopt a stygmergic approach where different states the robot discovers the in-progress structure in will enable/disable certain placement behaviors. However, this stygmergic approach will also not allow robots to create anything other than smooth structures (i.e. no irregularities which can be handled by topological constraints). This can be refined/expanded to maybe use structure query as an option in the future, where robots know the full spec of the structure they are building, and/or maintain a map of the in progress structure as they discover it.

Stygmergically ramp blocks can only be placed:

As part of this, I will need to handle: