Rules

Compatibility and recommendation logic

Only valid combinations reach the basket.

Every option knows what it can and can't sit next to. Invalid choices grey out with a reason instead of failing at checkout, and the basket button only wakes up when the build is sound.

Projector + screen + room3 of 3 valid