# Changelog

## 2.20.0-dev.4

### Sequence diagram

- go_to code navigation ported from the legacy p5 diagram to the
  new SVG one: click a lifeline's header or vertical line to make it the
  active component/interface (scoping Up/Down navigation to events touching
  it); Ctrl/Cmd+click (or right-click) flips which side of a call's location
  is used; Up/Down arrow keys step the active event with the same resolution
  as a click.
- Fixed the legacy sequence diagram jumping to a different line in the editor
  on every verify/simulate — it now only navigates on an actual click.
- Fixed the legacy sequence diagram's auto-focus landing on the wrong (middle)
  arrow for long-distance events; it now centers on the relevant endpoint.
- Fixed the SVG sequence diagram snapping back to the latest event when
  zooming or resizing while scrolled elsewhere in a large trace.

### Under the hood

- Fixed `<defer>` events not being marked eligible: the daemon now reads the
  protocol's top-level `trail` instead of the nested (frontend-only, and
  actually never used) `trace.trail`.
- Updated the **nucleos** engine to `0.1.0-dev.8` (`gee690e2e`).

## 2.20.0-dev.3.1

- **Legacy p5 sequence diagram is back**, shipped alongside the new SVG rewrite
  as a known-stable fallback. Toggle which one loads by default with the
  ide daemon `--legacy-sequence <true|false>` flag (defaults to legacy);
- Sequence diagram header boxes now fit their content, like p5.
- Added mouse back/forward button navigation for stepping through a trace.
- Fixed diagram centering and an auto-scroll undershoot past eligibles.

## 2.20.0-dev.3

Fix nucleosversion to correct one with location fix. Make larger hitboxes for sequence diagram arrows (same like Dezyne P5)

## 2.20.0-dev.2

This one's all about the sequence diagram. We rebuilt it from the ground up and
added a bunch of quality-of-life touches around simulation.

### Sequence diagram

- **New SVG-based diagram.** The old p5 renderer has been replaced with a
  crisper React + SVG implementation. It's sharper at any size and plays much
  nicer with the rest of the UI. (The legacy p5 view is still reachable with
  `?legacy=1` if you need it.)
- **Zoom and pan.** You can now zoom into a busy trace and drag around it
  instead of squinting at everything at once.
- **Click a step, jump to the code.** Selecting an event in the diagram takes
  you straight to the matching line in your `.dzn` source.
- **Fit-to-view** button to snap the whole trace back into frame.
- **Collapsible system composition.** Lifelines for composed systems can be
  grouped and folded away, so large systems stay readable.
- **State-change arrows**, with a toggle in the settings toolbar if you'd
  rather hide them.
- **Follows your VS Code theme** — the diagram now picks up light/dark
  automatically.

### Simulation

- **Presets.** Save a sequence of events and replay it later to jump straight
  back to a state you care about — no more clicking through the same steps
  every time. Presets live per-project in `.axiom-presets.json` (existing
  `.dezyne-presets.json` files are still honored).
- **Restart button** to reset a simulation to the beginning in one click.
- **Follow-latest scrolling** keeps the newest event in view as you step.
- **Settings panel** with auto-navigate, auto-focus, and auto-open-on-verify,
  so the diagram shows up when and where you expect it.

### Under the hood

- Updated the **nucleos** engine to `0.1.0-dev.6` (`g82b4b4e9`).
- New toolbar built on `vscode-elements` for a more native feel.
- Added a visual-regression test suite for the diagram and parallelized the
  Playwright runs (one isolated daemon per worker) so they finish faster.
