Skip to content

Documentation

T.C.P. docs

How the Workshop records, analyzes and stores your recoil data.

Getting started

Open the Workshop, connect a controller (optional) and follow the steps. You need a place to fire full sprays at a wall — a practice range or custom match works best.

No account is needed. Profiles, traces and build history are stored in this browser on this device.

Controller support

T.C.P. reads controllers through the browser's Gamepad API. Browsers only reveal a controller after it sends input, so press a button after connecting. Chrome, Edge, Firefox and Safari on desktop are supported.

  • Controller ids differ between browsers; T.C.P. normalizes them and never relies on the raw id.
  • When a browser reports a non-standard layout, labels may be wrong and the Workshop says so.
  • Live values follow the Gamepad API convention: stick up is negative.
  • Steam Input or remapping tools can hide or rename controllers.

Workshop

The Workshop is a guided state machine — every step must be completed in order, and nothing recorded is discarded without asking.

  1. Connect and check your controller (or continue without one).
  2. Select the game, weapon and attachments — each loadout gets its own profile.
  3. Fire a spray, then mark every bullet impact in firing order on the trace canvas. Loading a screenshot behind the canvas makes this precise.
  4. Repeat. 3 traces are required; 5 or more give high confidence. Each trace needs at least 5 bullets.
  5. Analyze, review the model, decide on potential outliers, refine if needed and save.

Canvas shortcuts: arrow keys move the reticle (Shift for larger steps), Enter places a bullet, Ctrl+Z / Ctrl+Shift+Z undo and redo, Ctrl + scroll zooms.

How analysis works

For every bullet number, T.C.P. compares the same bullet across all included traces.

  • Median first. The model path uses each bullet's median position, so one bad spray barely moves it. Means are shown too.
  • Variance is measured per axis for every shot and drawn as the variance corridor.
  • Confidence per shot combines sample count and spread: HIGH ≥ 85%, MEDIUM ≥ 60%, LOW below.
  • Outliers are scored by robust distance from the median. Traces that deviate are marked “Potential outlier” — you choose to include or exclude them. Nothing is deleted automatically.
  • Profile quality (0–100) is the mean shot confidence; vertical and horizontal repeatability are reported separately.
  • Refinement scales the model on X and Y. The recordings themselves are never changed.

Profiles

A profile stores the game, platform, weapon, operator, attachments, magazine size, every trace, the refinement and a derived model. Saving changes creates a new version. Profiles export as .tcp-profile.json and are fully validated on import — the model is always recomputed from the traces.

File personalization

Supported T.C.P. files (.tcp, .txt, up to 256 KB) start with a TCP_FILE signature, a TCP_SCRIPT_VERSION and a TCP_PROFILE_SCHEMA_VERSION, and contain exactly one block between TCP_PROFILE_BEGIN and TCP_PROFILE_END.

  • Only that block is rewritten, as inert comment lines of profile data. Everything else stays byte-for-byte identical, including line endings.
  • Unsupported versions are rejected: “THIS T.C.P. BUILD IS NOT SUPPORTED BY THE CURRENT WORKSHOP”.
  • Uploads are processed as text and never executed. They are not stored; your original stays available next to the personalized copy.

Try it with the sample config.

Data and privacy

Until accounts launch, everything you create stays in this browser's local storage. Reference screenshots never leave your device. The personalization server processes an upload in memory and keeps nothing.

T.C.P. is an analysis and calibration tool. It does not send input to games and does not control gameplay.