|
tess 1.0.0
Performance-first tile and path simulation substrate
|
#include <tess/sim/path_agent_tick.h>
Public Member Functions | |
| void | reserve (std::size_t agent_count) |
| void | clear () noexcept |
| auto | collect_due (std::span< const PathAgentState > agents, std::uint64_t tick, BlockedAgentRecoveryOptions options={}) -> BlockedAgentRecoveryStats |
| auto | due_agent_indices () const noexcept -> std::span< const std::size_t > |
| void | record_attempt (std::size_t agent_index, std::uint64_t tick, BlockedAgentRecoveryOptions options={}) noexcept |
Caller-owned scheduling scratch for expensive blocked-agent checks.
Entries are paired with agent span indices, like PathAgentRoutes. Reorder or compact the span only when also clearing or equivalently reordering this schedule. The object is externally synchronized: collect and acknowledge checks on the frame-owner thread. Selected read-only work may run elsewhere only when the caller provides independent search scratch and applies results deterministically.
Scheduling never decides reachability. collect_due returns at most the configured number of due indices. After completing a selected check, call record_attempt; an unacknowledged index remains due on the next pass.