Home
Concepts

Determinism and validation

The package's invariants for reproducible procedural generation.

Given equal inputs, every Lifecycle Kit function returns equal output. Random selection, time, storage, browser APIs, and rendering engines are intentionally outside the package boundary.

Input validation

Every exported function that accepts structured input validates its boundary. That means malformed quantities, impossible fractions, and invalid geometry fail early with an actionable error instead of yielding a downstream NaN.

Units are documented on the exported symbols in the generated API reference. In common use, temperatures are kelvin, scaling-law masses are kilograms, and fractions such as tissue, exposure, and material properties are in 0..1.

Reproducible application code

If an application needs randomness, select or generate its seed outside Lifecycle Kit and pass the resulting values as regular inputs. Persist those inputs with the application state. This keeps simulation replay, tests, and parallel generation predictable.

Output-size limits

The form rules defend their own allocation boundaries. repeat rejects counts above 10,000, and branch rejects recursion that would emit more than 10,000 copies (or descend beyond 64 levels). Treat those named RangeErrors as a request to constrain the caller's design, not as a value to retry blindly.