SpaceCertainty¶
Namespace Nfty.Core.Generation in assembly Nfty.Core.
What a counted space actually tells you: an answer, a bound in a stated direction, or nothing.
Remarks¶
This used to be a bool IsExact, and the bool was wrong in one case. Three of the four outcomes below reported false together, and every surface rendered that one way - "more than N" - because two of them really are floors. The third is not: when a recipe has rules and too many combinations to walk, the count gave up and reported the BUDGET as the total, so a book whose rules exclude all but four hundred selections announced "more than 1,000,000". Rules can only REMOVE, so that number was not a lower bound at all; it was an upper one wearing the wrong label.
Naming the direction fixes it by construction. It is the rule this codebase already applies to colour specs and passphrase sources: state which kind of thing you have rather than leaving a reader to infer it from a flag that cannot carry the distinction.
Values¶
Exact = 0- The total IS the figure. Nothing gave up and nothing saturated.AtLeast = 1- The real figure is LARGER than the total: a colorization filled more buckets than the enumeration budget allowed collecting, so every product built on it is short. Renders as "more than N".AtMost = 2- The real figure is NO LARGER than the total — the recipe has rules and more combinations than the enumeration budget allows walking, so the unconstrained product is reported.Unknown = 3- Nothing is known and the total means nothing. The book is invalid in a way that makes the question meaningless (a layerOrder entry naming no ingredient, a Dynamic layer with no colorization), or the two bounds above contradict each other.