# Lifecycle Kit ## Documentation - [Grow procedural creatures from causes, not catalogs](https://jonbogaty.com/lifecycle-kit/introduction/index.md): A deterministic TypeScript stage stack for chemistry, biological scaling, form, pigment, and 2.5D assembly. - [Get started](https://jonbogaty.com/lifecycle-kit/get-started/index.md): Install Lifecycle Kit and run a deterministic chemistry-and-metabolism example. - [Pipeline architecture](https://jonbogaty.com/lifecycle-kit/pipeline/index.md): How Lifecycle Kit's independent stages exchange renderer-neutral data. - [Determinism and validation](https://jonbogaty.com/lifecycle-kit/determinism/index.md): The package's invariants for reproducible procedural generation. - [Render a creature](https://jonbogaty.com/lifecycle-kit/rendering/index.md): Turn Lifecycle Kit geometry and palette data into SVG, Pixi, or a custom renderer without losing deterministic draw order. - [Agentic consumers](https://jonbogaty.com/lifecycle-kit/agentic-consumers/index.md): A narrow, deterministic contract for coding agents and other automated systems that integrate Lifecycle Kit. - [API reference](https://jonbogaty.com/lifecycle-kit/api-reference/index.md): Generated reference for every supported Lifecycle Kit export. - [lifecycle-kit](https://jonbogaty.com/lifecycle-kit/api/readme/index.md): lifecycle-kit - [index](https://jonbogaty.com/lifecycle-kit/api/index/readme/index.md): lifecycle-kit / index - [chem](https://jonbogaty.com/lifecycle-kit/api/chem/readme/index.md): lifecycle-kit / chem - [Function: asBackbone()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/asbackbone/index.md): lifecycle-kit / chem / asBackbone - [Function: backboneScore()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/backbonescore/index.md): lifecycle-kit / chem / backboneScore - [Function: bodyMass()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/bodymass/index.md): lifecycle-kit / chem / bodyMass - [Function: bodyMassKg()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/bodymasskg/index.md): lifecycle-kit / chem / bodyMassKg - [Function: chainStability()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/chainstability/index.md): lifecycle-kit / chem / chainStability - [Function: composition()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/composition/index.md): lifecycle-kit / chem / composition - [Function: compositionColor()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/compositioncolor/index.md): lifecycle-kit / chem / compositionColor - [Function: deriveBiochemistry()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/derivebiochemistry/index.md): lifecycle-kit / chem / deriveBiochemistry - [Function: dominantTissue()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/dominanttissue/index.md): lifecycle-kit / chem / dominantTissue - [Function: growthCost()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/growthcost/index.md): lifecycle-kit / chem / growthCost - [Function: inBackbone()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/inbackbone/index.md): lifecycle-kit / chem / inBackbone - [Function: metabolise()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/metabolise/index.md): lifecycle-kit / chem / metabolise - [Function: molecularMass()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/molecularmass/index.md): lifecycle-kit / chem / molecularMass - [Function: normalise()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/normalise/index.md): lifecycle-kit / chem / normalise - [Function: readMetabolicState()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/readmetabolicstate/index.md): lifecycle-kit / chem / readMetabolicState - [Function: scarcity()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/scarcity/index.md): lifecycle-kit / chem / scarcity - [Function: unitMass()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/unitmass/index.md): lifecycle-kit / chem / unitMass - [Function: writeMetabolicState()](https://jonbogaty.com/lifecycle-kit/api/chem/functions/writemetabolicstate/index.md): lifecycle-kit / chem / writeMetabolicState - [Interface: ActivityDemand](https://jonbogaty.com/lifecycle-kit/api/chem/interfaces/activitydemand/index.md): lifecycle-kit / chem / ActivityDemand - [Interface: Biochemistry](https://jonbogaty.com/lifecycle-kit/api/chem/interfaces/biochemistry/index.md): lifecycle-kit / chem / Biochemistry - [Interface: Biomolecule](https://jonbogaty.com/lifecycle-kit/api/chem/interfaces/biomolecule/index.md): lifecycle-kit / chem / Biomolecule - [Interface: Element](https://jonbogaty.com/lifecycle-kit/api/chem/interfaces/element/index.md): lifecycle-kit / chem / Element - [Interface: MetabolicState](https://jonbogaty.com/lifecycle-kit/api/chem/interfaces/metabolicstate/index.md): lifecycle-kit / chem / MetabolicState - [Type Alias: Backbone](https://jonbogaty.com/lifecycle-kit/api/chem/type-aliases/backbone/index.md): lifecycle-kit / chem / Backbone - [Type Alias: BiomoleculeId](https://jonbogaty.com/lifecycle-kit/api/chem/type-aliases/biomoleculeid/index.md): lifecycle-kit / chem / BiomoleculeId - [Type Alias: Composition](https://jonbogaty.com/lifecycle-kit/api/chem/type-aliases/composition/index.md): lifecycle-kit / chem / Composition - [Type Alias: FoodProfile](https://jonbogaty.com/lifecycle-kit/api/chem/type-aliases/foodprofile/index.md): lifecycle-kit / chem / FoodProfile - [Variable: BIOMOLECULES](https://jonbogaty.com/lifecycle-kit/api/chem/variables/biomolecules/index.md): lifecycle-kit / chem / BIOMOLECULES - [Variable: CATENATION](https://jonbogaty.com/lifecycle-kit/api/chem/variables/catenation/index.md): lifecycle-kit / chem / CATENATION - [Variable: ELEMENTS](https://jonbogaty.com/lifecycle-kit/api/chem/variables/elements/index.md): lifecycle-kit / chem / ELEMENTS - [Variable: EMPTY_COMPOSITION](https://jonbogaty.com/lifecycle-kit/api/chem/variables/empty-composition/index.md): lifecycle-kit / chem / EMPTY_COMPOSITION - [Variable: HYDROLYSIS](https://jonbogaty.com/lifecycle-kit/api/chem/variables/hydrolysis/index.md): lifecycle-kit / chem / HYDROLYSIS - [Variable: KG_PER_TISSUE_UNIT](https://jonbogaty.com/lifecycle-kit/api/chem/variables/kg-per-tissue-unit/index.md): lifecycle-kit / chem / KG_PER_TISSUE_UNIT - [Variable: NEWBORN](https://jonbogaty.com/lifecycle-kit/api/chem/variables/newborn/index.md): lifecycle-kit / chem / NEWBORN - [bio-laws](https://jonbogaty.com/lifecycle-kit/api/bio-laws/readme/index.md): lifecycle-kit / bio-laws - [Function: ageAtFirstReproduction()](https://jonbogaty.com/lifecycle-kit/api/bio-laws/functions/ageatfirstreproduction/index.md): lifecycle-kit / bio-laws / ageAtFirstReproduction - [Function: clutchSize()](https://jonbogaty.com/lifecycle-kit/api/bio-laws/functions/clutchsize/index.md): lifecycle-kit / bio-laws / clutchSize - [Function: encephalizationQuotient()](https://jonbogaty.com/lifecycle-kit/api/bio-laws/functions/encephalizationquotient/index.md): lifecycle-kit / bio-laws / encephalizationQuotient - [Function: expectedBrainMass()](https://jonbogaty.com/lifecycle-kit/api/bio-laws/functions/expectedbrainmass/index.md): lifecycle-kit / bio-laws / expectedBrainMass - [Function: gutRetentionTime()](https://jonbogaty.com/lifecycle-kit/api/bio-laws/functions/gutretentiontime/index.md): lifecycle-kit / bio-laws / gutRetentionTime - [Function: maxGroupSize()](https://jonbogaty.com/lifecycle-kit/api/bio-laws/functions/maxgroupsize/index.md): lifecycle-kit / bio-laws / maxGroupSize - [Function: populationDensity()](https://jonbogaty.com/lifecycle-kit/api/bio-laws/functions/populationdensity/index.md): lifecycle-kit / bio-laws / populationDensity - [Function: thermalRateFactor()](https://jonbogaty.com/lifecycle-kit/api/bio-laws/functions/thermalratefactor/index.md): lifecycle-kit / bio-laws / thermalRateFactor - [Function: vonBertalanffyMass()](https://jonbogaty.com/lifecycle-kit/api/bio-laws/functions/vonbertalanffymass/index.md): lifecycle-kit / bio-laws / vonBertalanffyMass - [Type Alias: Gait](https://jonbogaty.com/lifecycle-kit/api/bio-laws/type-aliases/gait/index.md): lifecycle-kit / bio-laws / Gait - [Variable: REFERENCE_TEMPERATURE_K](https://jonbogaty.com/lifecycle-kit/api/bio-laws/variables/reference-temperature-k/index.md): lifecycle-kit / bio-laws / REFERENCE_TEMPERATURE_K - [Variable: costOfTransport](https://jonbogaty.com/lifecycle-kit/api/bio-laws/variables/costoftransport/index.md): lifecycle-kit / bio-laws / costOfTransport - [forms](https://jonbogaty.com/lifecycle-kit/api/forms/readme/index.md): lifecycle-kit / forms - [Function: at()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/at/index.md): lifecycle-kit / forms / at - [Function: bounds()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/bounds/index.md): lifecycle-kit / forms / bounds - [Function: branch()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/branch/index.md): lifecycle-kit / forms / branch - [Function: concatPaths()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/concatpaths/index.md): lifecycle-kit / forms / concatPaths - [Function: drawPath()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/drawpath/index.md): lifecycle-kit / forms / drawPath - [Function: drawShape()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/drawshape/index.md): lifecycle-kit / forms / drawShape - [Function: enclose()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/enclose/index.md): lifecycle-kit / forms / enclose - [Function: groupByPart()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/groupbypart/index.md): lifecycle-kit / forms / groupByPart - [Function: mirrorX()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/mirrorx/index.md): lifecycle-kit / forms / mirrorX - [Function: mirrorY()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/mirrory/index.md): lifecycle-kit / forms / mirrorY - [Function: pair()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/pair/index.md): lifecycle-kit / forms / pair - [Function: partBounds()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/partbounds/index.md): lifecycle-kit / forms / partBounds - [Function: radiate()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/radiate/index.md): lifecycle-kit / forms / radiate - [Function: repeat()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/repeat/index.md): lifecycle-kit / forms / repeat - [Function: rotateTurns()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/rotateturns/index.md): lifecycle-kit / forms / rotateTurns - [Function: scale()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/scale/index.md): lifecycle-kit / forms / scale - [Function: shapeToPathData()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/shapetopathdata/index.md): lifecycle-kit / forms / shapeToPathData - [Function: still()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/still/index.md): lifecycle-kit / forms / still - [Function: tagPath()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/tagpath/index.md): lifecycle-kit / forms / tagPath - [Function: taper()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/taper/index.md): lifecycle-kit / forms / taper - [Function: toPathData()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/topathdata/index.md): lifecycle-kit / forms / toPathData - [Function: toSvgDocument()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/tosvgdocument/index.md): lifecycle-kit / forms / toSvgDocument - [Function: translate()](https://jonbogaty.com/lifecycle-kit/api/forms/functions/translate/index.md): lifecycle-kit / forms / translate - [Interface: Axis](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/axis/index.md): lifecycle-kit / forms / Axis - [Interface: BranchParams](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/branchparams/index.md): lifecycle-kit / forms / BranchParams - [Interface: CubicSegment](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/cubicsegment/index.md): lifecycle-kit / forms / CubicSegment - [Interface: Ellipse](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/ellipse/index.md): lifecycle-kit / forms / Ellipse - [Interface: EncloseParams](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/encloseparams/index.md): lifecycle-kit / forms / EncloseParams - [Interface: GraphicsLike](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/graphicslike/index.md): lifecycle-kit / forms / GraphicsLike - [Interface: LineSegment](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/linesegment/index.md): lifecycle-kit / forms / LineSegment - [Interface: PairParams](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/pairparams/index.md): lifecycle-kit / forms / PairParams - [Interface: PartTag](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/parttag/index.md): lifecycle-kit / forms / PartTag - [Interface: Path](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/path/index.md): lifecycle-kit / forms / Path - [Interface: QuadraticSegment](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/quadraticsegment/index.md): lifecycle-kit / forms / QuadraticSegment - [Interface: RadiateParams](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/radiateparams/index.md): lifecycle-kit / forms / RadiateParams - [Interface: RepeatParams](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/repeatparams/index.md): lifecycle-kit / forms / RepeatParams - [Interface: SubPath](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/subpath/index.md): lifecycle-kit / forms / SubPath - [Interface: TaperParams](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/taperparams/index.md): lifecycle-kit / forms / TaperParams - [Interface: Vec2](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/vec2/index.md): lifecycle-kit / forms / Vec2 - [Type Alias: Animated](https://jonbogaty.com/lifecycle-kit/api/forms/type-aliases/animated/index.md): lifecycle-kit / forms / Animated - [Type Alias: Segment](https://jonbogaty.com/lifecycle-kit/api/forms/type-aliases/segment/index.md): lifecycle-kit / forms / Segment - [Type Alias: Shape](https://jonbogaty.com/lifecycle-kit/api/forms/type-aliases/shape/index.md): lifecycle-kit / forms / Shape - [Type Alias: Timed](https://jonbogaty.com/lifecycle-kit/api/forms/type-aliases/timed/index.md): lifecycle-kit / forms / Timed - [Variable: EMPTY_PATH](https://jonbogaty.com/lifecycle-kit/api/forms/variables/empty-path/index.md): lifecycle-kit / forms / EMPTY_PATH - [pigment](https://jonbogaty.com/lifecycle-kit/api/pigment/readme/index.md): lifecycle-kit / pigment - [Function: derivePigments()](https://jonbogaty.com/lifecycle-kit/api/pigment/functions/derivepigments/index.md): lifecycle-kit / pigment / derivePigments - [Function: paletteRamp()](https://jonbogaty.com/lifecycle-kit/api/pigment/functions/paletteramp/index.md): lifecycle-kit / pigment / paletteRamp - [Function: recordMeal()](https://jonbogaty.com/lifecycle-kit/api/pigment/functions/recordmeal/index.md): lifecycle-kit / pigment / recordMeal - [Interface: DietHistory](https://jonbogaty.com/lifecycle-kit/api/pigment/interfaces/diethistory/index.md): lifecycle-kit / pigment / DietHistory - [Interface: PaletteRamp](https://jonbogaty.com/lifecycle-kit/api/pigment/interfaces/paletteramp/index.md): lifecycle-kit / pigment / PaletteRamp - [Interface: PigmentConcentrations](https://jonbogaty.com/lifecycle-kit/api/pigment/interfaces/pigmentconcentrations/index.md): lifecycle-kit / pigment / PigmentConcentrations - [Interface: PigmentInputs](https://jonbogaty.com/lifecycle-kit/api/pigment/interfaces/pigmentinputs/index.md): lifecycle-kit / pigment / PigmentInputs - [Interface: SurfaceProperties](https://jonbogaty.com/lifecycle-kit/api/pigment/interfaces/surfaceproperties/index.md): lifecycle-kit / pigment / SurfaceProperties - [Type Alias: MealPlantFraction](https://jonbogaty.com/lifecycle-kit/api/pigment/type-aliases/mealplantfraction/index.md): lifecycle-kit / pigment / MealPlantFraction - [Variable: NO_DIET_HISTORY](https://jonbogaty.com/lifecycle-kit/api/pigment/variables/no-diet-history/index.md): lifecycle-kit / pigment / NO_DIET_HISTORY - [assemblage](https://jonbogaty.com/lifecycle-kit/api/assemblage/readme/index.md): lifecycle-kit / assemblage - [Function: assemble()](https://jonbogaty.com/lifecycle-kit/api/assemblage/functions/assemble/index.md): lifecycle-kit / assemblage / assemble - [Function: boxArea()](https://jonbogaty.com/lifecycle-kit/api/assemblage/functions/boxarea/index.md): lifecycle-kit / assemblage / boxArea - [Function: litness()](https://jonbogaty.com/lifecycle-kit/api/assemblage/functions/litness/index.md): lifecycle-kit / assemblage / litness - [Function: normalise()](https://jonbogaty.com/lifecycle-kit/api/assemblage/functions/normalise/index.md): lifecycle-kit / assemblage / normalise - [Function: occlusion()](https://jonbogaty.com/lifecycle-kit/api/assemblage/functions/occlusion/index.md): lifecycle-kit / assemblage / occlusion - [Function: offsetBox()](https://jonbogaty.com/lifecycle-kit/api/assemblage/functions/offsetbox/index.md): lifecycle-kit / assemblage / offsetBox - [Function: overlapArea()](https://jonbogaty.com/lifecycle-kit/api/assemblage/functions/overlaparea/index.md): lifecycle-kit / assemblage / overlapArea - [Function: shade()](https://jonbogaty.com/lifecycle-kit/api/assemblage/functions/shade/index.md): lifecycle-kit / assemblage / shade - [Function: shadowed()](https://jonbogaty.com/lifecycle-kit/api/assemblage/functions/shadowed/index.md): lifecycle-kit / assemblage / shadowed - [Function: shapeBox()](https://jonbogaty.com/lifecycle-kit/api/assemblage/functions/shapebox/index.md): lifecycle-kit / assemblage / shapeBox - [Interface: AssembledPart](https://jonbogaty.com/lifecycle-kit/api/assemblage/interfaces/assembledpart/index.md): lifecycle-kit / assemblage / AssembledPart - [Interface: Box](https://jonbogaty.com/lifecycle-kit/api/assemblage/interfaces/box/index.md): lifecycle-kit / assemblage / Box - [Interface: Caster](https://jonbogaty.com/lifecycle-kit/api/assemblage/interfaces/caster/index.md): lifecycle-kit / assemblage / Caster - [Interface: Light](https://jonbogaty.com/lifecycle-kit/api/assemblage/interfaces/light/index.md): lifecycle-kit / assemblage / Light - [Variable: DEFAULT_LIGHT](https://jonbogaty.com/lifecycle-kit/api/assemblage/variables/default-light/index.md): lifecycle-kit / assemblage / DEFAULT_LIGHT - [Contributing](https://jonbogaty.com/lifecycle-kit/contributing/index.md): Native development, verification, and release conventions for Lifecycle Kit. - [Security](https://jonbogaty.com/lifecycle-kit/security/index.md): Vulnerability reporting and the repository's contributor trust boundary.