# TauClock

TauClockは、ローカル/UTC時計、アラーム、カウントダウンタイマー、ストップウォッチを1つのネイティブウィンドウにまとめたTauriアプリケーションです。キーボード操作を前提に設計しており、記録したアラームやラップはローカルストレージに保存されます。

## 主な特徴

- リアルタイムなローカル・UTC時計の並列表示
- 任意ラベル付きの繰り返しアラーム
- 柔軟な入力形式に対応したカウントダウンタイマー（`5m30s`, `1:15`, `90` など）
- ラップ記録つきストップウォッチと履歴リスト
- キーボードショートカットと画面内に表示できるチートシート
- アプリ説明・バージョン・ライセンス本文を確認できるAboutダイアログ
- Tauri + Rust製の軽量クロスプラットフォームバイナリ

## キーボードショートカット

| キー  | 動作                                       |
| ----- | ------------------------------------------ |
| `H`   | ショートカット一覧を開閉                   |
| `I`   | Aboutダイアログを開閉                      |
| `A`   | アラームの時刻入力欄にフォーカス           |
| `N`   | アラームを追加                             |
| `T`   | タイマーの時間入力欄にフォーカス           |
| `G`   | タイマー開始/一時停止                      |
| `R`   | タイマーをリセット                         |
| `W`   | ストップウォッチ開始/停止                  |
| `L`   | ラップを追加                               |
| `P`   | ストップウォッチをリセット                 |
| `Esc` | 入力フォーカス解除 or オーバーレイを閉じる |

## ディレクトリ構成

- `src/` – フロントエンド（HTML/CSS/JavaScript）。`main.js` には各ウィジェットのロジックと詳しいコメントがあります。
- `src-tauri/` – Rust製バックエンドおよびTauri設定。`lib.rs` にプラグインやコマンドの初期化がまとまっています。
- `src-tauri/tauri.conf.json` – アプリの識別子やアイコン設定。

## 開発環境

### 事前準備

- [Rust](https://www.rust-lang.org/tools/install) と `cargo`
- Tauriの推奨コンパイラ/プラットフォーム依存ツール（[公式ドキュメント](https://tauri.app/start/prerequisites/)を参照）

### ローカルで起動

```bash
cargo tauri dev
```

ホットリロード付きでウィンドウが立ち上がり、UIから各機能を試せます。

### ログレベルの切り替え

- フロントエンド: 既定で `info` レベルのみ表示します。`localStorage.setItem('tauclock:log-level', 'debug')` か
  `?logLevel=debug` をクエリに付けると詳細ログが有効になります。
- バックエンド: `TAUCLOCK_LOG_LEVEL`（または互換の `TAUCLOCK_LOG`）環境変数で制御できます。
  例: `TAUCLOCK_LOG_LEVEL=trace npm run tauri dev`。
  未設定の場合はデバッグビルドが `debug`、リリースビルドが `info` になります。

### ビルド

```bash
cargo tauri build
```

`src-tauri/target/release/` 以下に配布用バイナリが生成されます。

## ライセンス

MIT License. 詳細は `LICENSE` を参照してください。
