# The Sequencer Grid

The sequencer grid (`F5`) is where you spend most of your time in Cagire. It shows the step sequencer and lets you edit each step using the code editor. This is the first view you see when you open the application. Optional widgets — oscilloscope, spectrum analyzer, goniometer, prelude preview, and step preview — can be toggled on for visual feedback while you work.

## Navigation

Use arrow keys to move between steps. `Shift+arrows` selects multiple steps, and `Esc` clears any selection. The grid wraps around at pattern boundaries. Press `:` to jump directly to a step by number.

- `Alt+Up` / `Alt+Down` — Previous / next pattern
- `Alt+Left` / `Alt+Right` — Previous / next bank

## Editing Steps

- `Enter` — Open the script editor
- `t` — Make a step active / inactive
- `r` — Rename a step
- `Del` — Delete selected steps

## Mirrored Steps

Imagine a drum pattern where four steps play the same kick script. You tweak the sound on one of them — now you have to find and edit all four. Mirrored steps solve this: one step is the source, the others are mirrors that always reflect its script. Edit the source once, every mirror follows.

On the grid, mirrors are easy to spot. They show an arrow prefix like `→05`, meaning "I mirror step 05." Steps that share a source also share a background color, so clusters of linked steps are visible at a glance.

To create mirrors: copy a step with `Ctrl+C`, then paste with `Ctrl+B` instead of `Ctrl+V`. The pasted steps become mirrors of the original. Pressing `Enter` on a mirror jumps to its source and opens the editor there. If you want to break the link and make a mirror independent again, press `Ctrl+H` to harden it back into a regular copy.

## Copy & Paste

- `Ctrl+C` — Copy selected steps
- `Ctrl+V` — Paste as independent copies
- `Ctrl+B` — Paste as mirrored steps
- `Ctrl+D` — Duplicate selection
- `Ctrl+H` — Harden mirrors (convert to independent copies)

## Preludes

Each bank has its own prelude — a Forth script for definitions and setup that travels with the bank when shared. There is also a project-wide prelude for global configuration.

- `p` — Open current bank's prelude editor
- `P` — Open project prelude editor
- `d` — Evaluate all preludes (project + all banks)

## Pattern Controls

Each pattern has its own length and speed. Length sets how many steps it cycles through. Speed is a multiplier on the global tempo.

- `<` / `>` — Decrease / increase pattern length
- `[` / `]` — Decrease / increase pattern speed
- `L` — Set length directly
- `S` — Set speed directly

## Playback

Playback starts and stops globally across all unmuted patterns. The highlighted cell on the grid marks the currently playing step.

- `Space` — Toggle play / stop
- `+` / `-` — Adjust tempo
- `T` — Set tempo directly
- `Ctrl+R` — Execute current step once (one-shot)

## Mute & Solo

Mute silences a pattern; solo silences everything except it. Both work while playing.

- `m` — Mute current pattern
- `x` — Solo current pattern
- `Shift+m` — Clear all mutes
- `Shift+x` — Clear all solos

## Project

- `s` — Save project
- `l` — Load project
- `q` — Quit

## Tools

A few utilities accessible from the grid.

- `e` — Euclidean rhythm distribution
- `?` — Show keybindings help
- `o` — Cycle layout
- `Tab` — Toggle sample browser panel
