pub(crate) fn evaluate_visibility(
node: AdvancementNodeRef,
player_advancement: &mut PlayerAdvancement,
is_done: &mut impl FnMut(&mut PlayerAdvancement, AdvancementNodeRef) -> bool,
output: &mut impl FnMut(&mut PlayerAdvancement, AdvancementNodeRef, bool),
) -> bool