# kvnshasa/touchscreen-test-site architecture

> Architecture diagram of the GitHub repository kvnshasa/touchscreen-test-site, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/kvnshasa/touchscreen-test-site
- Repository: https://github.com/kvnshasa/touchscreen-test-site

## Overview

This is a browser-based touchscreen tester. A user starts a test, touches and moves across the test area, and sees active and maximum touch counts plus progress through five regions; the test can be reset or displayed fullscreen where supported. The runtime is concentrated in script.js, which handles pointer tracking, region scoring, and result presentation. The tree also includes a touchscreen guide and informational pages, but no README or excerpts establishing how those pages link to the test. Connections are limited to behavior visible in the sampled script.

Main entry points: [`script.js`](https://github.com/kvnshasa/touchscreen-test-site/blob/main/script.js) (Touch test runtime)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_test["Touchscreen test"]
  node_touch_runtime["Touch test runtime<br/>[script.js]"]
  node_pointer_tracking["Pointer tracking<br/>[script.js]"]
  node_region_scoring["Region scoring<br/>[script.js]"]
  node_test_results["Test results<br/>[script.js]"]
  node_fullscreen["Fullscreen control<br/>[script.js]"]
end

subgraph group_site["Site content"]
  node_touchscreen_guide["Touchscreen guide"]
  node_about_page["About page<br/>[about.html]"]
  node_privacy_page["Privacy page<br/>[privacy.html]"]
end

node_user(("User"))

node_user -->|"uses test controls"| node_touch_runtime
node_touch_runtime -->|"tracks pointers"| node_pointer_tracking
node_pointer_tracking -->|"updates regions"| node_region_scoring
node_region_scoring -->|"updates progress"| node_test_results
node_touch_runtime -->|"toggles display"| node_fullscreen

click node_touch_runtime "https://github.com/kvnshasa/touchscreen-test-site/blob/main/script.js"
click node_pointer_tracking "https://github.com/kvnshasa/touchscreen-test-site/blob/main/script.js"
click node_region_scoring "https://github.com/kvnshasa/touchscreen-test-site/blob/main/script.js"
click node_test_results "https://github.com/kvnshasa/touchscreen-test-site/blob/main/script.js"
click node_fullscreen "https://github.com/kvnshasa/touchscreen-test-site/blob/main/script.js"
click node_touchscreen_guide "https://github.com/kvnshasa/touchscreen-test-site/blob/main/touchscreen-guide/touchscreen-guide.html"
click node_about_page "https://github.com/kvnshasa/touchscreen-test-site/blob/main/about.html"
click node_privacy_page "https://github.com/kvnshasa/touchscreen-test-site/blob/main/privacy/privacy.html"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_touch_runtime,node_pointer_tracking,node_region_scoring,node_test_results,node_fullscreen,node_user toneBlue
class node_touchscreen_guide,node_about_page,node_privacy_page toneAmber
```

## Components

### Touchscreen test

- [Touch test runtime](https://github.com/kvnshasa/touchscreen-test-site/blob/main/script.js): `script.js`
- [Pointer tracking](https://github.com/kvnshasa/touchscreen-test-site/blob/main/script.js): `script.js`
- [Region scoring](https://github.com/kvnshasa/touchscreen-test-site/blob/main/script.js): `script.js`
- [Test results](https://github.com/kvnshasa/touchscreen-test-site/blob/main/script.js): `script.js`
- [Fullscreen control](https://github.com/kvnshasa/touchscreen-test-site/blob/main/script.js): `script.js`

### Site content

- [Touchscreen guide](https://github.com/kvnshasa/touchscreen-test-site/blob/main/touchscreen-guide/touchscreen-guide.html): `touchscreen-guide/touchscreen-guide.html`
- [About page](https://github.com/kvnshasa/touchscreen-test-site/blob/main/about.html): `about.html`
- [Privacy page](https://github.com/kvnshasa/touchscreen-test-site/blob/main/privacy/privacy.html): `privacy/privacy.html`

### Other components

- **User**

## Connections

- User → Touch test runtime: uses test controls (evidence: `script.js`)
- Touch test runtime → Pointer tracking: tracks pointers (evidence: `script.js`)
- Pointer tracking → Region scoring: updates regions (evidence: `script.js`)
- Region scoring → Test results: updates progress (evidence: `script.js`)
- Touch test runtime → Fullscreen control: toggles display (evidence: `script.js`)
