def legal_node_coords():
    """
    Return all legal node coordinates on the grid
    """
    nodes = set()
    for tile_id in legal_tile_ids():
        for node in nodes_touching_tile(tile_id):
            nodes.add(node)
    logging.debug('Legal node coords({})={}'.format(len(nodes), nodes))
    return nodes