PrivatefailPrivateexhaustedPrivatenotifiedPrivatemaxTrue once path has failed maxConsecutiveFailures times in a row.
Reset the failure state for path (a step succeeded).
Clear every exhausted/counted path. Returns whether any state changed.
Re-open failed paths for a backoff round without repeating their toast.
Show the exhaustion toast once per path until that path succeeds.
Record one failure for path. Returns true exactly when this failure
crosses the cap (the caller logs the one-time "giving up" line).
Consecutive-failure bookkeeping shared by the four per-geometry refinement wrappers (Points / Lines / GSplats / Mesh). Each loader owns one tracker and:
truethe loader just crossed the cap and the wrapper logs a final "giving up" line,anyHasMoreLODsaggregation so the generic loop can terminate and release the lock.