MAKE ROOM FOR A CLEAN SLATE
Everything has its place.
Load the rack. Turn the wash faces. Leave the water a way in.
How to leave the water a way in
Pick a dish in the tray, rotate it, then tap a rack cell. That cell is the top-left of its rectangular footprint. The arrow marks its dirty wash face. Every cell along that face must have a straight, unobstructed path to an active jet on the matching edge. Other dishes and fixed posts block spray. A jet stops at the first dish; it never passes through it.
Blue edge dots are active jets. Select a loaded dish to inspect its green clear paths and orange blocked paths. The small status dot on each dish shows whether its entire face can wash. Run the rinse when every dish is loaded and clean. All eight services have verified solutions.
Keyboard: Tab and Enter/Space operate every cell and dish. R rotates the selected dish, X unloads it, Z undoes. Your rack and completed services save on this device. A placed dish stays where it is if a move would overlap or leave the rack.
This is an original grid-and-ray puzzle inspired by the recent DishwasherBench physical-reasoning project. It is a simplified puzzle, with no claim to simulate a real dishwasher or its benchmark.