Remix.run Logo
▲ ash_091 an hour ago

I just added another comment under my original as you were replying- I'll try not to spam you with too many questions, this is just so cool though!

Do you find the models generally manage to avoid making errors when placing parts (e.g. placing parts which intersect, don't connect properly, etc) or do they rely on validation and correction cycles?

▲antelocnova an hour ago | parent [-]

A mix of both, I think.

When giving them enough examples, like e.g. houses, they tend to do well in that category, but not perfect.

My guess is that what happens is, given that most LEGO parts have a very limited, discrete set of legal positions and rotations, expressed as integer numbers, the agent finds patterns between different models, like e.g. a brick close to the center of a model usually has very similar (integer) coordinates and rotation components to another central brick from another model.

However, it still messes up very often, with things like e.g. +/- signs that flip parts due to rotations becoming -90deg when they should be +90deg; then, validation and correction cycles, running tools that verify the presence/absence of collisions, really helps in finishing the job.