Skip to content

Releases: toruhashimoto/lapclip-timing-visualizer

v2.1.0 — 全日本選手権ロードレース対応

26 Jun 12:50

Choose a tag to compare

v2.1.0 — 全日本選手権ロードレース対応

第94回 全日本自転車競技選手権大会 ロード・レース(新潟県南魚沼市・三国川ダム周回コース)に対応しました。

判定・表示

  • 「ロード・レース」タイトル(TT語なし)を明示的に マススタート として判定し、TT経路への誤吸着を防止
  • 選手セルの 「氏名/チーム名」形式(2026) を分離。[CODE]名前(TOJ)・氏名のみ(2025)も継続対応
  • DNF/DNS/OTL/リタイア/降車 等の未知ステータスは原文を保持して表示し、勝手にDNF扱いしない
  • 着順は公式の「位」を尊重(タイムから推定しない)

プレビュー

  • SPA ?mock=jprr:カテゴリタブ(Men Elite / MM / Men U23 / Women Elite+WU23 / WM)+周回遅れ(-N周)・集団状況(逃げ/メイン集団/遅れ)の合成データ

検証

  • 実2026ライブ(evt=260628_jprr / Men U23)で mass_start 判定・氏名/チーム分離・集団状況(逃げ3名 / メイン集団97名)を実走データで確認。全テスト 82 件緑

成果物(プラットフォーム別)

  • lapclip-visualizer.user.js — PC / Android:Tampermonkey ユーザースクリプト
  • lapclip-visualizer-ios.js — iPhone / iPad:ショートカット「Web ページで JavaScript を実行」に全文貼り付け(手順 → ios-shortcut/README.md
  • lapclip-visualizer-ios-bookmarklet.txt — iPhone / iPad:Safari ブックマークレット(手順 → ios-bookmarklet/README.md

v2.0.0 — 全日本選手権 個人TT・チームTT 対応

05 Jun 10:57

Choose a tag to compare

全日本自転車競技選手権大会 個人TT・チームTT 対応

明日(6/6–6/7・宮崎)の 全日本選手権 個人タイムトライアル/チームタイムトライアル に対応しました。

追加

  • チームTTの自動判定を拡張:従来の TOJ 大鹿(ctg=004)に加え、ページのタイトル/見出しに「チームTT / Team Time Trial / TTT」を含む全日本TTTページを team_tt として自動判定looksLikeTeamTT)。ctg が英字コードでも、サブ秒タイムで個人TTと紛らわしくても正しく判定します。個人TT(「個人タイムトライアル」)は誤判定しません。自動が外れても 個人/チーム 手動トグル で切替可能。
  • コース周回数のイベント連動teamLaps() が全日本TT(evt=…_jptt)を 2周(28.4km = 14.2km×2)、TOJ 大鹿を 3周 として扱い、チームタワーの Lap 列数・周回タイム取得に反映。

推定(2026 実施要項より, 1周 = 14.2km)

カテゴリ 距離 周回
男子エリート 個人TT (ME-T) 42.6km 3周
男子U23 個人TT (MU-T) 28.4km 2周
女子E+U23 個人TT (WE-T) 14.2km 1周
チームTT 28.4km 2周

当日の TTT 実 ctg コード/タイトル表記が想定と異なる場合は手動トグルで対応できます。

インストール

  • Tampermonkeylapclip-visualizer.user.js(自動更新対応)
  • PCブックマークレットlapclip-bookmarklet.js
  • iOSブックマークレットlapclip-ios-bookmarklet.txt
  • Android WebViewlapclip-overlay-android.js

v1.3.0 — Team TT: Lap 1/2/3 per-lap splits + Finish total

27 May 03:43

Choose a tag to compare

変更内容

チームTT表示を修正(大鹿ステージ対応)

修正前: Lap 1 / Lap 2 / Finish(3周目タイムが欠落)

修正後: Lap 1 / Lap 2 / Lap 3 / Finish

表示内容
Lap 1 1周目タイム(区間)
Lap 2 2周目タイム(区間)
Lap 3 3周目タイム(区間・差分計算)
Finish トータルタイム(LapClip FINISH直読み)

Note: LapClip result.php の FINISH フェーズはトータルタイムを示す。3周目区間タイムは lapsCumMs[2] − lapsCumMs[1] で計算。

アセット

ファイル 用途
lapclip-visualizer.user.js Tampermonkey ユーザースクリプト
lapclip-bookmarklet.js ブックマークレット(PC/Android/iOS)

v1.2.0 — チームTT 周回タイム自動取得

27 May 02:44

Choose a tag to compare

変更内容

新機能:FINISHチームの周回タイム自動取得

チームTTビューでFINISHしたチームの LAP1/LAP2/LAP3 タイム を laptimes.php から自動取得してタイミングタワーに表示します。

  • バックグラウンドで静かに取得(表示をブロックしない)
  • 取得済みデータはセッション中キャッシュ(再描画のたびに再取得しない)
  • ブックマークレット・ユーザースクリプト両方に対応

バグ修正

  • チームTT中間フェーズ「1/3周」「2/3周」形式の正規表現を修正(v1.1.0 の未修正箇所)

インストール

プラットフォーム ファイル
PC(Tampermonkey等) lapclip-visualizer.user.js
iOS Safari ブックマークレット �ookmarklet.txt のコードをコピー
iOS ショートカット lapclip-visualizer-ios.js
Android WebView lapclip-overlay.js

v1.1.0 — team TT intermediate checkpoint fix

27 May 02:04

Choose a tag to compare

Bug fix

チームTTモードで LAP1/LAP2 の時刻が FINISH 列に表示される問題を修正

原因

classifyPhase() のデフォルトフォールスルーが、未知のフェーズラベル("LAP1", "LAP2" など)を時刻ありの場合に FINISH として扱っていた。

修正内容

  • classifyPhase()LAP\d+ パターンを追加 → RUNNING/intermediate として正しく分類
  • parseTeam() を修正 → 中間チェックポイントの時刻を lapsCumMs[N-1] の正しいスロットへ格納(lapsCumMs[last] / finishMs への誤格納を解消)
  • "LAP N"(英語ラベル)と "N周"(日本語表記)の両方に対応
  • 回帰テスト追加(LAP1 / LAP2 / FINISH / 0周 の全パターン)

観測された実際のDOMフェーズ(2026 大鹿ステージ)

フェーズ 意味
FINISH 公式フィニッシュタイム
LAP2 中間チェックポイント2通過時の累積タイム
LAP1 中間チェックポイント1通過時の累積タイム
0周 未スタート

v1.0.0 — 自動更新・ゴール後サマリ・実データ検証

26 May 04:32

Choose a tag to compare

v1.0.0 — 自動更新・ゴール後サマリ・実データ検証

Tour of Japan 2026 いなべステージのライブ運用で検証した安定版です。

新機能・改善

  • Tampermonkey 自動更新: @updateURL で最新リリースを追従。一度 v1.0.0 を入れれば次回から自動更新(初回のみ手動インストール)。
  • ゴール後のサマリ表示: 過半数が完走すると「レース状況」を集団リストから 完走 / 先頭集団(同着) / リタイア・周回遅れ / 勝者 のサマリへ自動切替(ゴール後に集団が細分化する問題を解消)。
  • 回帰テスト追加: いなべ8周ロードの実データ形状(レース中の 逃げ+集団、最終の FINISH集団・大差グループ・X/8周 SPn リタイア・周回遅れ)を合成フィクスチャで固定(実リザルトは保存しません)。

ライブ検証(いなべ ctg=003)

  • レース中: 逃げ5名 / メイン集団82名(+0:30) を正しく判定、LAP 0/8、SP通過、異常0件。
  • 最終: 82完走・5リタイア(SP1, -2/-3周)、パース異常なし。

インストール

  • PC: 最新リリースlapclip-visualizer.user.js(v1.0.0 以降は自動更新)。
  • 拡張不要: lapclip-bookmarklet.js(ブックマークレット/Android アプリ基盤)。
  • iPhone / iPad: lapclip-visualizer-ios-bookmarklet.txt(Safari ブックマークレット用の javascript: ワンライナー。お気に入りに保存して1タップ起動。詳細は ios-bookmarklet/README.md)。

非公式の個人観戦用の表示補助です。公式結果は LapClip を確認してください。外部送信・保存・再配信は行いません。

🤖 Generated with Claude Code

v0.9.0 — Tour of Japan 全ステージ対応

25 May 23:42

Choose a tag to compare

v0.9.0 — Tour of Japan 全ステージ対応

LapClip のデータ構造からレース種別を自動判定し、各ステージに最適な表示へ切り替えます。

新機能

  • マススタート対応(ロード/クリテリウム): 着順は公式リザルト(位)準拠、トップ差(分/秒)、周回遅れ(-N周)、スプリント通過(SPn)。
  • ライブ・レース状況: 逃げ/メイン集団/追走/遅れ の集団自動判定、集団間タイム差、残り周回、通過スプリント地点、★お気に入り選手の所属集団。
  • レース種別の自動判定: 個人TT/マススタート/チームTT をページ内容から判定(URL 非依存)。個人TT・チームTT は従来どおり。

検証

  • vitest + jsdom で 27 テスト(合成フィクスチャ。実リザルトは保存しません)。
  • 当日の いなべステージ(ctg=003)スタート前ページで実地検証(mass_start 判定・全員「出走前」・誤った完走/順位/集団を作らないことを確認)。

インストール

  • PC(推奨): Tampermonkey に lapclip-visualizer.user.js をインストール。
  • 拡張不要: lapclip-bookmarklet.js(ブックマークレット/Android アプリの基盤)。

非公式の個人観戦用の表示補助です。公式結果は必ず LapClip を確認してください。外部送信・保存・再配信は行いません。

🤖 Generated with Claude Code

LapClip Timing Visualizer v0.1.0 (β)

25 May 11:50

Choose a tag to compare

Pre-release

LapClip 公式ページを F1予選風タイミングUIに変換する非公式の表示補助ツール v0.1.0(β / pre-release)。
ブラウザ内で公式ページの DOM を読むだけ — 外部送信なし・保存なし・再配信なし

⚠️ β / 一部未検証:個人TTは実ページで描画確認済み。チームTT(大鹿)と各配布物の実機動作は当日/環境で要確認。公式結果は必ず LapClip で確認してください。本ツールは LapClip / マトリックス社 / Tour of Japan / 大会運営とは無関係です。

PC・ユーザースクリプト(Tampermonkey)

Tampermonkey 導入 → lapclip-visualizer.user.js を開いて Install → LapClip の result.php を開くと自動表示。

PC・ブックマークレット(拡張不要)

bookmarklet.txt の「方法B(インライン)」の javascript:… を新規ブックマークの URL に保存 → result.php でクリック。

Android(WebView アプリ・未検証の暫定版

lapclip-visualizer-debug.apk(デバッグ署名・未検証)をサイドロード(「提供元不明のアプリ」許可が必要)。公式ページをアプリ内 WebView で開き、オーバーレイを注入します。

iPhone / iPad(Safari ショートカット・β)

  1. ショートカットアプリで新規作成 → アクション 「Web ページで JavaScript を実行」 を追加。
  2. lapclip-visualizer-ios.js の中身を全文コピペ
  3. 詳細で 「共有シートに表示」をオン(Safari Web ページ / URL を許可)。
  4. Safari で result.php を開く → 共有 → 作成したショートカットを実行 → オーバーレイ表示。
    • 初回は matrix-sports.jp へのアクセス許可を「許可」。最新化は公式ページを再読み込み後に再実行。
    • 詳細・制限(1回実行型など β 事項)はリポジトリの ios-shortcut/README.md 参照。

使い方(共通)

個人 / チーム 切替、⭐お気に入り、更新、「元の表示に戻す」。チームTTで周回データが無い場合は「FINISH only」(推定値は出しません)。