API Overview

New to this section? Start with the Documentation Overview if you want the bigger picture first, then use this page as your quick map of the runtime types and extension points in the API.

The API Reference is the code-facing companion to the rest of the docs.

  • Documentation / Guides / Samples teach workflows, use cases, and practical setups.
  • API Reference explains what the runtime types actually do, what their members mean, and where the extension points live.

So yes: this section is intentionally more technical. The goal is to help you answer questions like “Which type should I use?”, “What does this property actually control?”, and “Where do I register my custom selection method?” without forcing you to reverse-engineer the package source first.


API shape at a glance

Here is the API map in its simplest form: first the core runtime types you will most likely use directly, then the extension points you will reach for when you want to customize or extend RNGNeeds.

Core runtime types

These are the main building blocks of day-to-day runtime usage — the types you will usually touch first when creating lists, working with items, organizing groups of lists, or inspecting recent picks.

Extension points

These pages are for advanced integration work — custom selection behavior, deterministic workflows, seed control, and the static registry that ties those systems together.


A few important concepts before you dive in


Reference pages in this section

Core runtime types

CLASSProbabilityList<T>

The main list API for managing probability items and selecting values.

CLASSProbabilityItem<T>

A single item in a probability list, including probability, state, influence, weight, and depletion data.

CLASSPLCollection<T>

A collection of multiple probability lists with helpers for lookup, picking, refilling, and clearing.

CLASSPickHistory

Stores recent picks and exposes helper methods for retrieving history entries or the latest picked indices.

Extension points

STATICRNGNeedsCore

Static registry and integration entry point for selection methods, seed providers, logging, and global helpers.

INTERFACEISelectionMethod

The full custom path for implementing an entirely custom selection algorithm.

BASE CLASSSelectionMethodBase

Partial implementation for custom selection logic when you want help with prep, seeded randomness, depletion, and repeat-prevention plumbing.

INTERFACEISeedProvider

The contract for generating seeds used by RNGNeeds.


Need examples, not just member descriptions?

Go to the curated sections when you want intent, workflow, and examples: