rlmesh_run_hooks_on_episode_end
Contexts are shared and retained independently from hook invocation. Every protocol slot is required; NULL slots fail with INVALID_ARGUMENT.
RLMeshStatus rlmesh_run_hooks_on_episode_end(
RLMeshRunHooks* hooks,
const RLMeshEpisodeResult* result
)