# ASysT 0.1.4

A feature release: configure product-line (variant) models, validate a model without leaving your
editor, and a full user manual that now ships with every build.

---

## ✨ New: Variant management (product-line engineering)

If your model describes a **family** of products — SysML v2 `variation` points and their `variant`s —
ASysT can now **configure** it and show the single product your choices select.

- A **Variants** button appears on the canvas whenever a model declares variability (hidden otherwise).
- A **feature-model configurator**: variation points with their variants as clickable chips, **nested**
  choices, and group rules (**choose one** / **optional** / **choose any**).
- **Live validation** as you pick — valid/complete status, plus the model's own **selection constraints**
  (requires / excludes / `xor`) shown as satisfied · violated · indeterminate.
- **Save, load and delete named configurations** (stored in a `*.variants.yaml` sidecar — never your
  `.sysml`).
- **Apply to canvas** resolves the 150 % superset model to the **100 % product**: unchosen options (and
  anything only they used) disappear, with a banner you can **Clear** to return to the full model.
- pure::variants-friendly: it speaks the same feature-model concepts.

See [Variant management](../05_Variant_management.md).

## ✨ New: Validation surface

"Is my model valid, and where are the problems?" — now answerable in-app and from a script.

- A **whole-model Problems panel**: every file's problems grouped by file, **click-to-reveal** at the
  exact line in the source, with a re-check button.
- Two new endpoints for automation / CI: **`GET /api/diagnostics`** (the full problem list) and
  **`POST /api/validate`** (an exit-code-friendly pass/fail gate — fails only on errors, not warnings).

See [Checking your model](../04_Validation.md).

## 📖 New: User manual

ASysT now ships an end-user manual (the `User_doc` folder, included in the shareable release `.zip`):
getting started, navigating models, diagrams & views, checking your model, variant management, exporting
& reports, and the API reference. Start at [README](../README.md).

## 🔧 Under the hood

- Graph nodes now carry variability marks (`isVariant` / `variationPoint` / `multiplicity`).
- New engine package `variants/` (discovery, constraint evaluation, resolution, configuration sidecars),
  covered by tests; the API reference and a per-feature engineering doc were added.

## ⚠️ Notes & limits

- Variant resolution prunes **part/usage** variation; attribute-level variation is shown but not pruned.
- Selection constraints are **evaluated**, not **solved** (no auto-completing a choice to satisfy a rule).
- Applying a configuration changes only **what you see** — your model stays the full superset.
