# Biology kit

> The biology kit is the biology feature of fframes-kit (fframes-kit = { .., features = ["biology"] }) and needs no other crate.

Page: https://fframes-kit.pages.dev/docs/biology/
Cargo feature: `biology` (`fframes-kit = { version = "..", features = ["biology"] }`)

The biology kit is the `biology` feature of `fframes-kit`
(`fframes-kit = { .., features = ["biology"] }`) and needs no other crate. It builds for
wasm32, so every figure here also runs in the editor, except `DnaHelix3D`, which needs the
`3d` feature as well. Every entry names its scene in the components gallery (`cargo run --release -p components-gallery -- strip <Scene> -n 8`).

- **Placement.** A figure is placed in units of `ui.space` (Manim's frame: 8 units tall, `y`
  up, the origin in the middle). Its sizes are in pixels.
- **Seeded.** Anything random (where the free ribosomes of a cell sit) comes from a `seed`,
  so every render draws the same picture.
- **Named parts.** Figures that name their parts put the names in columns beside the figure,
  each joined to its part by a leader line that draws when the part appears.

- [Cell](https://fframes-kit.pages.dev/docs/biology/cell.md): Cell draws an animal or a plant cell (kind: CellKind::Animal or Plant), size pixels from its centre to its side.
- [DnaHelix](https://fframes-kit.pages.dev/docs/biology/dna-helix.md): DnaHelix draws a double helix from the side, the first base of sequence at the left (the other strand is its complement, complement(base)).
- [DnaHelix3D](https://fframes-kit.pages.dev/docs/biology/dna-helix-3d.md): DnaHelix3D needs the 3d feature as well (features = ["biology", "3d"]), which turns on fframes/3d.
- [Transcription](https://fframes-kit.pages.dev/docs/biology/transcription.md): Transcription copies a gene into mRNA.
- [Translation](https://fframes-kit.pages.dev/docs/biology/translation.md): Translation reads mrna into a protein.
- [MitosisStages](https://fframes-kit.pages.dev/docs/biology/mitosis-stages.md): MitosisStages shows one cell dividing into two, size pixels from its centre to its side.
- [Neuron](https://fframes-kit.pages.dev/docs/biology/neuron.md): Neuron lies across the frame, length pixels from its dendrites to its axon terminals: dendrites branching from the cell body (placed from seed), the axon…
- [ActionPotential](https://fframes-kit.pages.dev/docs/biology/action-potential.md): ActionPotential traces the membrane potential of an action potential on axes of time (0 to 6 ms) against millivolts, drawing it in duration seconds from…
- [PopulationCurve](https://fframes-kit.pages.dev/docs/biology/population-curve.md): PopulationCurve draws population growth on axes of time against population, from 0 to years in duration seconds from delay, a dot at the head of each…
- [PhyloTree](https://fframes-kit.pages.dev/docs/biology/phylo-tree.md): PhyloTree reads a tree in Newick format (Newick::parse, which says where a malformed string goes wrong) and grows it from the root at the left, width…
- [FoodWeb](https://fframes-kit.pages.dev/docs/biology/food-web.md): FoodWeb draws who eats whom: species, and the arrows of eats as (prey, predator) pairs pointing the way energy flows.
- [Circulation](https://fframes-kit.pages.dev/docs/biology/circulation.md): Circulation draws double circulation: the four chambers of the heart, with the lungs above and the body below.
- [EnzymeFit](https://fframes-kit.pages.dev/docs/biology/enzyme-fit.md): EnzymeFit shows an enzyme splitting its substrate.
- [PunnettSquare](https://fframes-kit.pages.dev/docs/biology/punnett-square.md): PunnettSquare crosses two parents, genotypes of one to three genes written as pairs of a letter with the dominant allele in upper case ("Pp", "YyRr").
