# Watchstop - [Watchstop](/docs): Runtime-agnostic stopwatch core and framework adapters. - [Architecture](/docs/architecture): Clock, Store, and Stopwatch layering for Watchstop. - [Agents](/docs/agents): Acceptance criteria and adopter constraints for implementers. - **Core** - Core - [Clock](/docs/core/clock): Runtime-agnostic time and scheduling interface. - [Store](/docs/core/store): Snapshot get and subscribe contract for framework adapters. - [Stopwatch](/docs/core/stopwatch): Elapsed-time Store built on an injectable Clock. - **Runtimes** - Runtimes - [Browser](/docs/runtimes/browser): requestAnimationFrame clock using performance.now. - [Timer](/docs/runtimes/timer): setTimeout clock for Node, Bun, and Deno — one API. - [Testing](/docs/runtimes/testing): Mock clock with controllable advance for deterministic tests. - **Frameworks** - Frameworks - [React](/docs/frameworks/react): @watchstop/react adapter. - [Svelte](/docs/frameworks/svelte): @watchstop/svelte adapter. - [Vue](/docs/frameworks/vue): @watchstop/vue adapter. - [Solid](/docs/frameworks/solid): @watchstop/solid adapter. - [Angular](/docs/frameworks/angular): @watchstop/angular adapter. - [Qwik](/docs/frameworks/qwik): @watchstop/qwik adapter. - [Alpine](/docs/frameworks/alpine): @watchstop/alpine adapter. - [Vanilla](/docs/frameworks/vanilla): Use core directly in the browser. - [Preact](/docs/frameworks/preact): Use React adapter or core. - [Lit](/docs/frameworks/lit): Subscribe from a Lit element.