# Visualization v0.3.3

[Open v0.3.3](../../concept/daily-brief-v0.3.3.html) · [Bubble chart](../../concept/daily-brief-v0.3.3.html#bubble-chart)

Criticality now runs from neutral gray through lavender to strong purple, distinct from the Logistics Cluster red and ETC navy. The five-step key appears before the timeline and above the bubble chart. Numeric ratings, card size and weight remain additional signals.

| Score | Background | Text | Contrast |
| --- | --- | --- | --- |
| 1 | `#f1f2f4` | `#626873` | 5.00:1 |
| 2 | `#eae5f1` | `#51495f` | 6.88:1 |
| 3 | `#d6c5ed` | `#392453` | 8.42:1 |
| 4 | `#ac86d0` | `#29113e` | 5.69:1 |
| 5 | `#663394` | `#ffffff` | 8.52:1 |

The four lens symbols are filled SVG shapes: a governance check, representation speech bubbles, a coordination gear and a resources cube. Bubble icons are larger and appear above the ID and score. Low-criticality bubbles use two title lines to leave room for the stronger icon. Full titles and descriptions remain available in the detail dialog.

The source workbook remains at 82 records and 79 distinct findings. No score or classification changed. There are no current score-5 observations. That style is represented in the legend and checked using an isolated style probe, not invented observations.

## Files and verification

The release has its own HTML, `concept/v033.css` and `concept/v033.js`. Shared observation logic, export and workbook are unchanged. Earlier releases are preserved. The category-reference table remains, and the three removed summary views remain absent.

Automated browser checks passed for 36 opening/category layout states, filled icon definitions and all five text/background contrast pairs. The full observation suite passed at 1440×900, 1280×720 and 390×844, including 79 findings, reverse scrolling, all cluster groupings, details, focus, zoom, pause and animation. Desktop and phone bubble charts, a zoomed chart and the timeline were visually inspected. The minimum measured text contrast is 5.00:1.

Evidence: `tmp/review/v033/qa.json`, `tmp/review/v033/observations/functional.json`, screenshots in those directories and `tmp/review/v033/preservation-check.json`.

### Scrolling and animation follow-up

After a report of zoom or movement freezing while scrolling, the animation loop was revised to batch scene geometry reads and avoid rewriting unchanged scenes. Continuous SVG animation now stops when its scene is offscreen, the tab is hidden or motion is paused. It resumes when the scene returns. Initial SVG positions are still populated when reduced motion is enabled. The camera interpolation and zoom targets are unchanged.

The reported intermittent freeze was not reproduced in the baseline or revised run. This is a reduction in avoidable animation work, not a confirmed diagnosis of that freeze.

`tests/full-presentation-v033.mjs` traverses every view using native wheel events and public controls, without manually invoking presentation updates. It checks actual camera matrices and rendered bounds, forward and reverse transitions, all four lenses, the three puzzles, soup/salad reveals, simulation, preparedness, evidence, capture, categories, timeline, all five bubble groupings and ending. The full run passed at 1440×900, 1280×720, 390×844 and 2000×1187. Desktop and phone screenshots were visually reviewed. Reports and screenshots are in `tmp/review/v033/full-run/`.

The native-wheel suite expects the local preview server at `http://127.0.0.1:60504`. Set `PRESENTATION_URL` to test another local server.

The full run recorded one 216.7 ms frame gap at 2000×1187. A longer sequential repeat at that size traversed 5,760 px with 160 wheel steps: the baseline had a 100 ms maximum gap, while the revised version stayed at 16.8 ms. Every sampled advancing zoom transition updated its camera. Neither repeat produced a LongTask or JavaScript error. The saved comparison is `tmp/review/v033/full-run/wide-performance.json`. These bounded samples do not establish that an intermittent browser freeze cannot recur.

```bash
node tests/visual-v033.mjs
node tests/full-presentation-v033.mjs
OBSERVATION_TEST_PAGE=concept/daily-brief-v0.3.3.html \
OBSERVATION_TEST_OUTPUT=tmp/review/v033/observations \
node tests/visual-observations.mjs
```

See [data maintenance](../../DATA-WORKFLOW.md) for workbook editing and export.
