.gitignore
LICENSE
README.md
demo.py
fletchtime.spec
pyproject.toml
run_server.py
run_tests.py
.github/workflows/build.yml
.github/workflows/docs.yml
.github/workflows/test.yml
config/app.toml
config/flint.toml
config/indoor.toml
docs/api-reference.md
docs/architecture.md
docs/conf.py
docs/index.md
docs/requirements.txt
docs/roadmap.md
docs/specifications.md
docs/_static/logo.svg
docs/dev-guide/index.md
docs/user-guide/index.md
scripts/generate_classic_sounds.py
src/fletchtime/__init__.py
src/fletchtime/__main__.py
src/fletchtime/_version.py
src/fletchtime/gui.py
src/fletchtime/runtime.py
src/fletchtime.egg-info/PKG-INFO
src/fletchtime.egg-info/SOURCES.txt
src/fletchtime.egg-info/dependency_links.txt
src/fletchtime.egg-info/entry_points.txt
src/fletchtime.egg-info/requires.txt
src/fletchtime.egg-info/scm_file_list.json
src/fletchtime.egg-info/scm_version.json
src/fletchtime.egg-info/top_level.txt
src/fletchtime/engine/__init__.py
src/fletchtime/engine/engine.py
src/fletchtime/engine/models.py
src/fletchtime/engine/sequence.py
src/fletchtime/engine/turn_modes.py
src/fletchtime/engine/modes/__init__.py
src/fletchtime/engine/modes/base.py
src/fletchtime/engine/modes/flint.py
src/fletchtime/engine/modes/indoor.py
src/fletchtime/server/__init__.py
src/fletchtime/server/config_store.py
src/fletchtime/server/http_static.py
src/fletchtime/server/match_server.py
src/fletchtime/server/ws_server.py
src/fletchtime/web/__init__.py
src/fletchtime/web/config.html
src/fletchtime/web/control.html
src/fletchtime/web/display.html
src/fletchtime/web/i18n.js
src/fletchtime/web/index.html
src/fletchtime/web/logo.svg
src/fletchtime/web/manual.html
src/fletchtime/web/theme.js
src/fletchtime/web/_defaults/banners/README.md
src/fletchtime/web/_defaults/club/README.md
src/fletchtime/web/_defaults/gui/theme.json
src/fletchtime/web/_defaults/sounds/packs/README.md
src/fletchtime/web/_defaults/sounds/packs/classic/countdown_tick.wav
src/fletchtime/web/_defaults/sounds/packs/classic/emergency_end.wav
src/fletchtime/web/_defaults/sounds/packs/classic/emergency_start.wav
src/fletchtime/web/_defaults/sounds/packs/classic/end_of_match.wav
src/fletchtime/web/_defaults/sounds/packs/classic/end_of_volee.wav
src/fletchtime/web/_defaults/sounds/packs/classic/pause_end.wav
src/fletchtime/web/_defaults/sounds/packs/classic/pause_start.wav
src/fletchtime/web/_defaults/sounds/packs/classic/prep_start.wav
src/fletchtime/web/_defaults/sounds/packs/classic/shoot_start.wav
src/fletchtime/web/_defaults/sounds/packs/classic/warning_orange.wav
src/fletchtime/web/_defaults/targets/flint_20cm_4spot.jpg
src/fletchtime/web/_defaults/targets/flint_35cm_1spot.jpg
src/fletchtime/web/_defaults/targets/indoor_compound.jpg
src/fletchtime/web/_defaults/targets/indoor_recurve.jpg
src/fletchtime/web/screenshots/config.png
src/fletchtime/web/screenshots/control.png
src/fletchtime/web/screenshots/display.png
src/fletchtime/web/screenshots/index.png
tests/test_config_store.py
tests/test_engine.py
tests/test_flint_mode.py
tests/test_indoor_mode.py
tests/test_match_server.py
tests/test_runtime.py
web/assets/banners/README.md
web/assets/sounds/packs/README.md