BudgetedRules
Opt-in bounded traversal; the existing complete rules APIs are unchanged.
One work unit admits a move-generator invocation, an examined micro-move, or a capture-roll iteration. A single move-generator invocation is not preempted internally. These counters bound traversal and retained path entries, not elapsed time, instructions or heap bytes; callers still need external wall/memory guards.
Attributes
- Source
- BudgetedRules.scala
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
BudgetedRules.type
Members list
Type members
Classlikes
Share only within one synchronous invocation. Counts are cumulative across queries using this budget. Exhaustion is sticky: a denied admission cannot later be resumed as a complete computation.
Share only within one synchronous invocation. Counts are cumulative across queries using this budget. Exhaustion is sticky: a denied admission cannot later be resumed as a complete computation.
Attributes
- Source
- BudgetedRules.scala
- Supertypes
-
class Objecttrait Matchableclass Any
Incomplete computations expose only cumulative work, never partial paths or a partial exact count.
Incomplete computations expose only cumulative work, never partial paths or a partial exact count.
Attributes
- Source
- BudgetedRules.scala
- Supertypes
-
trait Enumtrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Value members
Concrete methods
First canonical king-capture path for the incoming active color and remaining dice, without replacing either. A found capture is a complete existence proof and may stop before other legal paths are generated. Complete None proves absence; exhaustion returns no path or absence claim. King captures are legal regardless of turn maximality. Counts use the shared cumulative budget; atomic generator calls still require an external wall/memory guard.
First canonical king-capture path for the incoming active color and remaining dice, without replacing either. A found capture is a complete existence proof and may stop before other legal paths are generated. Complete None proves absence; exhaustion returns no path or absence claim. King captures are legal regardless of turn maximality. Counts use the shared cumulative budget; atomic generator calls still require an external wall/memory guard.
Attributes
- Source
- BudgetedRules.scala
Exact successful ordered-roll count out of DiceRolls.totalOrderedRolls. The attacker is the defender's opponent, independent of incoming active color/dice, as in KingCaptureProbability.kingCaptureProbability. A missing defender king has count zero. King capture is always legal, so each roll can stop at its first capture without buffering all paths.
Exact successful ordered-roll count out of DiceRolls.totalOrderedRolls. The attacker is the defender's opponent, independent of incoming active color/dice, as in KingCaptureProbability.kingCaptureProbability. A missing defender king has count zero. King capture is always legal, so each roll can stop at its first capture without buffering all paths.
Attributes
- Source
- BudgetedRules.scala
Ordered full legal paths, with king captures before maximal-dice normal paths, as in TurnGenerator. An empty complete list means a pass. Exhaustion during generation discards the buffered prefix.
Ordered full legal paths, with king captures before maximal-dice normal paths, as in TurnGenerator. An empty complete list means a pass. Exhaustion during generation discards the buffered prefix.
Attributes
- Source
- BudgetedRules.scala