input: ensure that viewpoint structs are read only from callbacks