- Canvas API
- A browser-native JavaScript API for drawing 2D graphics directly in an HTML canvas element. The spinning wheel is rendered entirely using the Canvas API, enabling smooth animation without any external graphics library.
- Arc Segment
- One slice of the spinning wheel corresponding to a single list item. Each segment subtends an equal central angle (360° ÷ number of items), giving every option equal probability of being selected.
- Deceleration Animation
- The gradual slowing of the wheel's rotation speed from fast to stopped, modeled using an easing function that mimics physical friction. The final stop position is predetermined by the random seed before animation begins.
- Easing Function
- A mathematical curve used in animation to make motion feel natural rather than mechanical. Spin wheels typically use an ease-out curve that starts fast and progressively slows to a stop, mimicking a real spinning wheel.
- Weighted Selection
- A random selection method where items do not have equal probability. On the spin wheel, weighting is achieved by adding an item multiple times, causing it to occupy multiple segments and a proportionally larger arc.
- Cryptographic Seed
- An unpredictable value derived from the system's entropy source (via Web Crypto API) used to initialize the random number generator. A cryptographic seed ensures the selected landing angle cannot be predicted or manipulated.