DNA
DNA is a zero-dependency Rust terminal toy for biology-themed animation: rotating codon-aware helices, DNA/RNA matrix rain, stable base-color palettes, and keyboard controls that feel good in a normal shell.
It is intentionally small. The shipped CLI uses ANSI escape sequences, restores terminal state on clean exit, and keeps the rendering path in plain Rust.
Preview
TUI recording
Five seconds of the helix view followed by five seconds of matrix rain.

Rotating codon helix

ATCG matrix rain

Install
From crates.io after the dino-dna crate is published:
From this source checkout:
The package name is dino-dna, the library crate is dna, and the installed binary is DNA.
Run
helix --dna is the default.
The codon wheel is experimental and disabled in the default build:
Controls
| Key | Action |
|---|---|
| Left / Right | Cycle animations |
| Up / Down | Change speed; Down reaches 0.00x freeze |
+ / - |
Change visual scale |
c |
Cycle color palettes |
f |
Toggle focus mode and hide the footer |
q or Ctrl-C |
Quit cleanly |
Modes
| Mode | Aliases | Alphabet options |
|---|---|---|
| Helix | h, helix |
d, dna, --dna; r, rna, --rna |
| Matrix rain | m, matrix, rain |
d, dna, --dna; r, rna, --rna |
| Codon wheel | codon, codons, table |
Requires --features codon-wheel |
Color Palettes
Press c while running to cycle:
classicbase colorsicefiremono
In base colors, bases stay stable across every view:
| Base | Color |
|---|---|
A |
Red |
C |
Blue |
G |
Yellow |
T / U |
Green |
Package Surface
The published crate includes only the release-critical files:
Cargo.tomlandCargo.lockLICENSEREADME.mdassets/*.gifandassets/*.mp4src/**/*.rs
Local recordings, generated frames, package tarballs, and scratch artifacts are ignored by default.
Development
The preview GIFs are generated from tools/generate_gifs.py; the generator is kept in the repository but excluded from the crates.io package.
License
MIT