TimeManager

dicechess.engine.search.TimeManager
See theTimeManager companion class
object TimeManager

Shared safety constants plus source-compatible access to the default time manager.

Existing TimeManager.budget(...) callers continue to use default, while consumers that need an explicit policy construct an instance with TimeManager(policy).

Attributes

Companion
class
Source
TimeManager.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def apply(policy: TimePolicy): TimeManager

Constructs an explicitly configured manager, avoiding mutable global policy state and allowing two participants with different policies to share one process safely.

Constructs an explicitly configured manager, avoiding mutable global policy state and allowing two participants with different policies to share one process safely.

Attributes

Source
TimeManager.scala

Compatibility facade for default.

Compatibility facade for default.

Attributes

Source
TimeManager.scala
def budgetMs(clock: ClockState, overheadBufferMs: Long): Long

Compatibility facade for default.

Compatibility facade for default.

Attributes

Source
TimeManager.scala
def movesToGo(clock: ClockState): Int

Compatibility facade for default.

Compatibility facade for default.

Attributes

Source
TimeManager.scala

Concrete fields

val BaseMovesToGo: Int

Original opening horizon retained so legacy-linear-v1 reproduces the pre-policy allocation exactly.

Original opening horizon retained so legacy-linear-v1 reproduces the pre-policy allocation exactly.

Attributes

Source
TimeManager.scala
val MaxFraction: Double

Policy-independent ceiling that preserves enough clock for unexpectedly long games.

Policy-independent ceiling that preserves enough clock for unexpectedly long games.

Attributes

Source
TimeManager.scala
val MinMovesToGo: Int

Original horizon floor retained for compatibility and to stop the legacy taper spending the clock in one turn.

Original horizon floor retained for compatibility and to stop the legacy taper spending the clock in one turn.

Attributes

Source
TimeManager.scala
val MinThinkMs: Long

Absolute floor preventing rounding, caller overhead, or an empty spendable clock from producing a zero deadline.

Absolute floor preventing rounding, caller overhead, or an empty spendable clock from producing a zero deadline.

Attributes

Source
TimeManager.scala
val PanicBudgetMs: Long

Absolute panic cap that stretches the last seconds over several turns even when increment or policy says spend.

Absolute panic cap that stretches the last seconds over several turns even when increment or policy says spend.

Attributes

Source
TimeManager.scala
val PanicThresholdMs: Long

Spendable-time boundary where survival becomes more important than the policy's normal quality allocation.

Spendable-time boundary where survival becomes more important than the policy's normal quality allocation.

Attributes

Source
TimeManager.scala
val ReserveFloorMs: Long

Fixed reserve protecting short clocks from transport and scheduling latency that does not scale with clock size.

Fixed reserve protecting short clocks from transport and scheduling latency that does not scale with clock size.

Attributes

Source
TimeManager.scala
val ReserveFraction: Double

Scaled reserve protecting long clocks and long-game tails; whichever is larger wins over ReserveFloorMs.

Scaled reserve protecting long clocks and long-game tails; whichever is larger wins over ReserveFloorMs.

Attributes

Source
TimeManager.scala

The default manager. Its policy changes only through an intentional compatibility decision.

The default manager. Its policy changes only through an intentional compatibility decision.

Attributes

Source
TimeManager.scala