# v26 Advanced source-node fine tuning

This build keeps the v25 JESIM behavior and adds an advanced, per-node source editor.

## How to use

1. Draw or load a source as usual.
2. Press `E` to enter Advanced source-node tune mode.
3. Click a yellow/blue/gray source marker to select one node.
4. Tune the selected node:

| Key | Action |
|---|---|
| `+` / `-` | adjust selected node height by ±0.10 m |
| `Shift` + `+` / `-` | adjust height by ±0.50 m |
| `Ctrl` + `+` / `-` | adjust height by ±0.01 m |
| `[` / `]` | adjust selected node rupture delay by ±dt, usually 30 s |
| `Shift` + `[` / `]` | adjust delay by ±300 s |
| `Ctrl` + `[` / `]` | adjust delay by ±1 s |
| Arrow keys | move selected node by 1 grid cell |
| `Shift` + arrow keys | move selected node by 5 grid cells |
| `PgUp` / `PgDn` | adjust slip_m only |
| `F` | set height to 0 while preserving slip_m, footprint-only moment node |
| `U` | copy the current brush template into the selected node |
| `Tab` / `Shift+Tab` | select next / previous node |
| `Delete` or `Backspace` | remove selected node |
| `E` | exit tune mode |

## Notes

- Normal source drawing is disabled while node tune mode is active, so accidental repainting is prevented.
- Every node edit rebuilds the source field and resets the simulation time to 0 while preserving the tuned source list.
- The selected node is highlighted with a magenta ring. Other editable nodes get a small dotted box in tune mode.
- Presets still save and load each SOURCE row as `grid_x,grid_y,height_m,delay_s,slip_m`.

## v25 behavior preserved

- JESIM observations are batched by 5-minute bulletin send time.
- First-arrival `observed_time_s` remains the true model threshold-crossing time.
- JESIM output is sent only when at least one observation peak is newly updated in that bulletin bucket.
- `rise` is `+` for a peak update.
- `清水` is removed, while `土佐清水` remains.
- JESIM transmit-only mode stops simulation calculation at 60 hours.
- Observation transmission uses fixed wall-clock 1x.
- No Y-axis reversal is applied in the relay.
