KQ-1797 · DENDRITE/REACH
Dendrite Reach
Fluorescent nerve cells under a microscope: dendrites grow slowly out from each soma by branching, their tips carrying growth cones that feel about, and when a tip meets another cell's dendrite it either pulls back along its own path and turns away, or lunges the last pixels on springs.snap and forms a junction whose bouton blooms on springs.recoil. Cells fire at `pulse` Hz — the soma flashes and a front of light runs out along every branch — and at each junction the signal crosses after a synaptic delay, runs in to the partner's soma and fires it in turn. The pointer offers a cue that nearby tips grow toward and a click stimulates the nearest cell; as a focusable group, arrow keys move the cue, Enter stimulates and Escape clears the cue.
Gaugeworks · neuro lab
Culture 7, day three under the scope
0 junctions · point to cue the tips, click to stimulate
Install
One command — the source lands in your repo. Or copy it from the Code tab.
$ pnpm dlx shadcn@latest add @kinetiq/dendrite-reach
Props
- branching
- number
- default 0.5
- How bushy the dendrites grow, 0 (long and sparse) to 1 (densely branched).
- pulse
- number
- default 0.3
- Spontaneous firings per cell per second (0 to 2); 0 leaves the cells quiet until stimulated.
- stain
- "green" | "magenta" | "cyan" | "amber" | (string & {})
- default "green"
- The fluorescent stain: a named one, or any CSS colour.
- cells
- number
- default 0
- How many cells (1 to 8); 0 picks one per ~190 px of width.
- growth
- number
- default 16
- How fast a growth cone advances, px/s (4 to 60).
- reach
- number
- default 1
- Length budget of each cell's tree, 0.4 to 2.
- junctions
- number
- default 0.6
- Chance that two meeting dendrites form a junction rather than pull apart, 0 to 1.
- cue
- number
- default 0.6
- How strongly tips grow toward the pointer's cue, 0 to 1.
- cueRadius
- number
- default 150
- How far the cue reaches, px.
- background
- string
- default "oklch(from var(--accent) 0.135 0.02 h)"
- The field behind the cells, any CSS colour; dark in both themes, as fluorescence is.
- interactive
- boolean
- default true
- The pointer and the keys offer a cue and stimulate.
- paused
- boolean
- default false
- Holds growth and signals where they are.
- seed
- number
- default 5
- Seeds the culture; a new seed grows a new one.
- dpr
- number
- default 2
- Cap on the canvas's device pixel ratio, at most 2.
- onFire
- (cell: number, cause: "spontaneous" | "signal" | "stimulus") => void
- default —
- A cell fired, with its index and why: on its own, passed a signal across a junction, or stimulated by the visitor.
- onJunctionsChange
- (count: number) => void
- default —
- The number of junctions, reported from the start and on each new one.
- label
- string
- default "Neuron culture"
- The culture's name; the group reads "<label>, N junctions".
- disabled
- boolean
- default false
- No cue, no stimulation; the culture grows on and says it is disabled.
- className
- string
- default "h-56 w-full"
- Sizes and shapes the field.
| Prop | Type | Default | Description |
|---|---|---|---|
| branching | number | 0.5 | How bushy the dendrites grow, 0 (long and sparse) to 1 (densely branched). |
| pulse | number | 0.3 | Spontaneous firings per cell per second (0 to 2); 0 leaves the cells quiet until stimulated. |
| stain | "green" | "magenta" | "cyan" | "amber" | (string & {}) | "green" | The fluorescent stain: a named one, or any CSS colour. |
| cells | number | 0 | How many cells (1 to 8); 0 picks one per ~190 px of width. |
| growth | number | 16 | How fast a growth cone advances, px/s (4 to 60). |
| reach | number | 1 | Length budget of each cell's tree, 0.4 to 2. |
| junctions | number | 0.6 | Chance that two meeting dendrites form a junction rather than pull apart, 0 to 1. |
| cue | number | 0.6 | How strongly tips grow toward the pointer's cue, 0 to 1. |
| cueRadius | number | 150 | How far the cue reaches, px. |
| background | string | "oklch(from var(--accent) 0.135 0.02 h)" | The field behind the cells, any CSS colour; dark in both themes, as fluorescence is. |
| interactive | boolean | true | The pointer and the keys offer a cue and stimulate. |
| paused | boolean | false | Holds growth and signals where they are. |
| seed | number | 5 | Seeds the culture; a new seed grows a new one. |
| dpr | number | 2 | Cap on the canvas's device pixel ratio, at most 2. |
| onFire | (cell: number, cause: "spontaneous" | "signal" | "stimulus") => void | — | A cell fired, with its index and why: on its own, passed a signal across a junction, or stimulated by the visitor. |
| onJunctionsChange | (count: number) => void | — | The number of junctions, reported from the start and on each new one. |
| label | string | "Neuron culture" | The culture's name; the group reads "<label>, N junctions". |
| disabled | boolean | false | No cue, no stimulation; the culture grows on and says it is disabled. |
| className | string | "h-56 w-full" | Sizes and shapes the field. |