ソフトテニスの陣形をドラッグで自由に試せるコート分析Webアプリです。選手をタップするとセオリー線・返球エリア・デッドゾーンが表示され、相手の守備範囲を「ラケット◯本分」で読めます。競技者・指導者・保護者がスマホ・タブレット・PCのブラウザからそのまま使えます。
- 選手をタップでセオリー線・返球エリア・デッドゾーンを表示(最大4人分の同時表示)、ドラッグで自由配置
- 距離はすべて「ラケット◯本分」換算(1本 = 0.69m)。大人も子供も同じ物差しで、カバー圏内/踏み込みで届く/リーチ外の判定バッジ付き
- 相手選手ごとに担当コース(近い外側とセンター)への距離をコート上とパネルに表示
- 配置プリセット: 正クロス/逆クロス/右ストレート/左ストレート+チーム別陣形(雁行陣・W後衛・W前衛)
- コートの縦横に実寸ラケットの定規(つかんで平行移動できる物差し)
- ピンチズーム・コートのスライド・90度回転・配置メモリ(端末内3枠)・前提メモ・配置の画像保存
- オフライン利用に備えたPWA対応(ホーム画面に追加するとアプリのように起動)
- 公開URLを開きます。
- 選手をタップしてセオリー線と守備範囲を表示し、ドラッグで配置を動かします。
- 右端の「設定」から展開・陣形プリセットや利き手・打球面を切り替えます。
- コート右下のカメラボタンで、配置を画像として保存・共有できます。
- アカウント登録はありません。
- 配置メモリ・初回ヒント表示の記録は、利用者のブラウザ内(localStorage)にのみ保存されます。
- 入力データを開発者や外部サーバーへ送信する機能はありません。外部API・アクセス解析も使用していません。
- 前提メモ等に個人名・学校名などを入力して画像共有する場合は、投稿先での見え方に注意してください。
- 詳細は PRIVACY.md を確認してください。
- コード: All rights reserved(オープンソースライセンスは付与していません)
- 画面デザイン・文言・コート分析の表現・画像も omicreate に帰属します。
- 詳細は LICENSE.md、TERMS.md、SECURITY.md を確認してください。
- 実行方式: Vite + React + TypeScript(ビルド後は静的配信・バックエンドなし)
- PWA:
public/manifest.webmanifestとpublic/sw.js。Service Worker の事前キャッシュ一覧はビルド時にscripts/build-sw.mjsがdist/sw.jsへ埋め込みます(npm run buildに含まれます) - 主なファイル:
src/App.tsx(画面と状態)、src/CourtCanvas.tsx(コート描画と操作)、src/geometry.ts(座標・距離計算)、src/presets.ts(監修済み基準配置) - コート寸法は公式規格(23.77m × 10.97m・シングルス幅8.23m)を座標系の基準にしています。
npm install
npm run build
npm run devブラウザで表示し、選手のタップ・ドラッグ・プリセット読込・距離表示・画像保存を確認します。
- このアプリは公式団体の認定・監修アプリではありません。
- セオリー線・デッドゾーン・距離判定は、平面上の戦術分析を目的とした簡略モデルです。ボールの高さ・回転・速度は扱っていません。