Skip to content

Event-Detail Charts

Event-detail charts consume raw WriteTrackDataSchema from getData(). They work without WASM — no analysis pipeline needed.

All event-detail charts follow the same pattern — import, register once, then pass capture data:

import { Sparkline } from 'writetrack/viz';
Sparkline.register(); // call once per component
document.querySelector('wt-sparkline').setData(tracker.getData());

Compact speed chart with no axes or labels — designed for inline use. Recommended size: 200px × 40px.

You can also create a Sparkline programmatically without a pre-existing element:

const sparkline = Sparkline.create(containerElement, tracker.getData());

Cumulative character count over time. The slope shows typing speed; vertical jumps indicate paste events, labeled with the character count pasted. Recommended size: width: 100%; height: 200px.

Keystroke-level beeswarm showing every keypress as a dot, dodge-stacked over time. Paste and cut events appear as larger prominent dots. Density indicates typing speed; gaps indicate pauses. Recommended size: width: 100%; height: 160px.

Cursor position over time. Diagonal lines show sequential typing; jumps indicate navigation. Cyan dots mark paste events. The Y-axis is reversed so position 0 (start of document) is at the top. Recommended size: width: 100%; height: 200px.

Corrections Bubble <wt-corrections-bubble>

Section titled “Corrections Bubble <wt-corrections-bubble>”

Edit runs visualized as bubbles — green for insertions, red for deletions, cyan for pastes. Size is proportional to log₂(character count). Consecutive same-type actions are grouped into runs. Recommended size: width: 100%; height: 80px.