Skip to content

Current Limitations

Xianji is a working prototype. The trial engine and its timing are verified; much of the surrounding workflow is not built. Read this before planning around the system.

Sessions are written to the device database, but no screen lists past sessions or shows a trend over time. Once you leave the results screen, the number is not visible anywhere in the app.

Write results down at the end of every session.

Export exists only in the timing harness. Trial-level data from real sessions — offsets, timestamps, responses, reaction times — cannot currently be retrieved through the app. It is all stored, but pulling it out requires direct access to the device database.

There are no athlete names, no switching, and no per-athlete history. All sessions pool into a single implicit athlete.

If you test more than one person, keep your own records. The app cannot tell them apart.

The progressive-occlusion demo — the same shot shown at successively earlier cut points, which is the most persuasive way to show a squad what the test does — is specified but not built.

Contact frames are found by hand. The computer-vision pipeline is specified but not written, so preparing a footage set is currently the most time-consuming step.

Sessions draw only from shots whose contact frame a human has confirmed. An unconfirmed frame is a detector candidate, and a threshold measured from one would be displaced by whatever the detector got wrong — so those shots are excluded rather than warned about.

If nothing is available, the setup screen says which action is needed: import footage, or annotate the footage already imported.

  • No footage selection — sessions draw from all imported footage for the sport. Keep only what you intend to test against on the device
  • No sport picker — the app uses the first configured sport
  • No opponent management — opponent ids from the manifest create placeholder records with no way to name or review them
  • No re-annotation — a confirmed shot never reappears in the annotation queue, and an excluded shot cannot be restored
  • Warnings appear after import, not before. Delete and re-import if a warning is serious
  • Language choice is not saved between launches
IssueImpactWorkaround
Footage imported before the manifest directory was recorded cannot locate its clipsThose shots are unavailable for sessionsRe-import the footage. The setup screen names the count when this applies
Some error and warning messages are English-onlyChinese interface shows mixed languagesNone
SportStatus
Badminton singlesWorking. Timing verified, full workflow available
Tennis serve returnConfiguration only — not usable. See Tennis Status