How a freeform crossword layout is built
A classroom crossword does not need the black-square symmetry used by newspaper puzzles. It needs one readable, connected group of answers. This maker starts with one answer, then considers new placements only where a matching letter can cross a word already in the grid. Every accepted answer is therefore reachable through intersections; separate islands are never scattered around the page.
A matching letter is only the first test. If PLANET crosses ORBIT at T, both entries must put T in that cell. The cells immediately before and after each answer must stay empty, and a new letter cannot sit directly beside a parallel answer. Those spacing checks prevent accidental letter runs that look like extra words and make a worksheet confusing to solve.
Placement order matters, especially with a long list. The maker runs several bounded attempts from the visible layout code, compares the results, and keeps the connected grid with the most answers. Intersections and compactness break ties. The used cells are then cropped to their smallest rectangle, and crossword numbers are assigned by scanning the finished grid from top to bottom and left to right. If an Across and a Down answer start in the same cell, they share one number.
The layout code supplies every variable choice. It does not guarantee that every list has a perfect arrangement, because some answers share no letters at all, but it does make each result reproducible and every omission visible.