···771. **Load** a testable web app into a sandboxed iframe.
882. **Calibrate** eye-tracking via webcam (powered by [WebGazer](https://webgazer.cs.brown.edu/)).
993. **Record** a session — gaze data, mouse movement, clicks, keypresses, and scroll events are all captured while the user completes a task.
1010-4. **Debrief** — when the task is done (or a win condition fires automatically), UXET renders per-screen gaze heatmaps and a full stats summary.
1111-5. **Export** the raw session data as JSON for further analysis.
1010+4. **Debrief** — when the task is done (or a win condition fires automatically), UXET renders per-screen gaze heatmaps, v3 ranked findings, element-level issues, and interaction stats.
1111+5. **Export / Import** session data as JSON so UXET can re-analyze prior sessions offline, including temporary cohort comparison from multiple imported files.
12121313## Getting started
1414···50504. When calibration passes, click **Start Test** to begin recording.
51515. Complete the task. The session ends automatically when the win condition is met, or press **Shift+Escape** to end it manually.
52526. Review the debrief screen — heatmaps, timing, click counts, fixation stats, etc.
5353-7. Click **Export Data** to download the session as JSON.
5353+7. Click **Test Again** to rerun the same app from the debrief screen, or **Export Data** to download the session as JSON.
5454+5555+When you use **Test Again** on the same app, UXET keeps the completed live runs in memory and adds comparison insights after the second run. The comparison highlights repeated findings, repeated element-level patterns, and outlier sessions for that app/task until you reset or reload.
5656+5757+### Import a prior session
5858+5959+1. Click **Import Data**.
6060+2. Select a UXET JSON export.
6161+3. UXET validates the file and renders the same debrief pipeline used for live sessions.
6262+6363+To compare sessions, select multiple UXET JSON exports in the import dialog. UXET analyzes the files in memory, reports repeated findings, element patterns, outlier sessions, and data-quality warnings, then discards the cohort when you reset or reload.
6464+6565+Legacy exports are still supported, but they may lack screenshots, dense mouse traces, or element snapshots. In those cases UXET shows fidelity warnings and limits the analysis accordingly.
54665567### Debug mode
5668···5971- **Skip Calibration** — bypass eye-tracking calibration entirely.
6072- **Use mouse as gaze** — substitute mouse position for eye-tracking (useful for development and demos without a webcam).
6173- **End Test** — force-stop a running session.
7474+7575+## Export schema
7676+7777+New exports use `schemaVersion: "3"` and include:
7878+7979+- full `screenRecords` with screenshots, gaze points, interaction events, and element snapshots
8080+- `mouseTrace` sampled during recording
8181+- `fixations`
8282+- `calibration`
8383+- `analysisContext`
8484+- recomputed deterministic `analysis` with ranked findings, confidence, screen metrics, and element metrics
8585+8686+Older UXET JSON files can still be imported, but they only support a subset of the richer analysis. UXET recomputes analysis on import rather than trusting stale embedded reports.
8787+8888+## Analytics engine v3
8989+9090+The v3 engine is deterministic and offline. It computes attention friction, interaction friction, data coverage, screen metrics, element metrics, and task-agnostic pre-action exploration metrics, then ranks evidence-bound findings by severity, confidence, recurrence, affected time, and data quality.
9191+9292+UXET does not infer the correct task target from task text. It focuses on observable behavior: time to first action, how many regions or elements were inspected before action, scroll depth before action, repeated clicks, and post-action feedback patterns. Fast first actions suppress speculative friction claims unless there is clear repeated interaction failure.
9393+9494+Element-level findings are generated when exports include element snapshots or click fingerprints. Future recordings capture more clickable/card-like elements as areas of interest, including `[data-id]`, `[onclick]`, `[tabindex]`, and pointer-cursor elements. If element snapshots are missing, UXET falls back to spatial zone metrics and shows a confidence warning.
9595+9696+### Analysis tests
9797+9898+Run the lightweight module tests with:
9999+100100+```bash
101101+node tests/analysis.test.js
102102+```
103103+104104+Or open `tests/run-analysis-tests.html` from the local server.
6210563106## Adding your own apps
64107