Skip to content

Releases: piguo45/single-file-wbs

v1.2.0 — 進捗軸ビュー・全体サマリ・列折りたたみ

20 Jun 08:34

Choose a tag to compare

主な変更

📊 進捗軸ビュー(#63

  • 右ペインを 「時間/進捗」タブで切替(既定=時間)
  • 進捗=完了率の横バー(EVM:実績EV/予定PV/遅れ)
  • 時間ビューと一目で区別:直角バー・青グレートラック・定規状の目盛り

🧭 ヘッダ全体サマリ(#71 / #69

  • 期間・工数(人月)・進捗(EVM) の3行+遅延サマリ(期限/進捗の遅れ件数バッジ)
  • 下段メタ:ファイル名・プロジェクト数・本日・更新・保存

📑 列の折りたたみ(#64

  • アウトライン式の +/− で列を畳む/展開(数量+時間/工数/進捗/状況/担当/予定/実績/備考)
  • 畳んだ列は0幅で消す(隙間なし)・状態は localStorage 記憶・ガントが広がる

🤖 その他

  • AI進捗査定ワークフローを CLAUDE.md に明文化(成果物+要件→最寄り10%で _progress
  • ボタン高さ統一・タブ色・保存表示の見切れ解消

依存ゼロ・単一HTML・file:// で動作(Chrome/Edge)。

v1.1.1 — 保存リトライ(同期/AVの横入り対策)/ Save retry for sync・AV interference

19 Jun 06:12

Choose a tag to compare

修正 / Fixes

🇯🇵 保存時の InvalidStateError(同期・ウイルス対策の横入り)を自動リトライ(#74

  • OneDrive 等の同期やウイルス対策がファイルに触れた一瞬と保存が重なると、ブラウザが書込を弾くこと(「An operation that depends on state … the state had changed since it was read from disk」)がありました。
  • これを検知したら 250ms 後に1回だけ自動で再保存し、ほぼ回復します。
  • createWritable書込前に弾くため原本は無傷(データ消失なし)。再試行も失敗した場合は未保存状態を保持し、次の編集/タブ離脱で再保存します。
  • 会社環境(Edge+OneDrive)の実機で、エラーが出なくなることを確認済み。

互換性:表示ロジック・データ形式(wbs.json)の変更なし。wbs_viewer.html を差し替えるだけ(PATCH)。


🇬🇧 Auto-retry on InvalidStateError (sync / antivirus interference) when saving (#74)

  • When a sync client (OneDrive, etc.) or antivirus touched the file at the same instant as a save, the browser could reject the write ("the state had changed since it was read from disk").
  • The tool now waits 250 ms and retries the save once, which almost always recovers.
  • The write is rejected before touching disk, so the original file stays intact (no data loss). If the retry also fails, the unsaved state is kept and re-saved on the next edit or on tab close.
  • Verified on a real corporate setup (Edge + OneDrive): the error no longer appears.

Compatibility: no changes to view logic or the wbs.json data format — just replace wbs_viewer.html (PATCH).

v1.1.0 — ガント再設計+CUD配色 / Gantt redesign + Color Universal Design

16 Jun 16:00

Choose a tag to compare

ガント表現を全面的に再設計し、色覚多様性(CUD)に配慮した配色へ刷新しました。
A full redesign of the Gantt representation, with Color-Universal-Design–aware colors.

✨ ガント再設計 / Gantt redesign (#65)

  • 予定=塗りなしの枠/実績=塗りバー を同一レーンに重ねる(プログレスバー誤認を、状態の色分けで解消)
    Plan = unfilled outline / actual = filled bar, overlaid in one lane.
  • 終了遅延=赤バー+「+N」(進行中=鮮やかな赤/完了済み=くすんだ赤)
    Finish delay = red bar + "+N" (vivid while active / muted when done).
  • 完了=グレーのバー(青=進行中/グレー=完了 が一目で)
    Done = gray bar (blue = active / gray = done at a glance).
  • 着手遅れ=枠の左が空く(専用色を持たず、空きで表現)
    Start delay shown by the empty left of the outline.
  • 親(集約)=細いサマリーバー(形で葉と区別・全階層で同色)
    Parent (aggregate) = thin summary bar (distinguished by shape, same color across levels).

🎨 カラーユニバーサルデザイン / Color Universal Design (#35)

  • Okabe-Ito 原則に沿って「青と紫」の混同を回避(マイルストーン既定色=モーブ)
    Avoids "blue vs purple" confusion per Okabe-Ito (milestone default = mauve).
  • 配色監査ツール test_color_audit.py を新設(重なり/隣接の色差を色覚3型で自動検証)
    New color-audit test verifying adjacency contrast across 3 CVD types.

🧪 テスト / Tests

  • test_gantt_bars / test_highlight を追加、全17スイート GREEN
    Added bar/highlight tests; all 17 suites green.

動作環境 / Requirements: Google Chrome(Chromium系)・file:// でそのまま開けます。依存ゼロ・単一HTML。
No install, zero dependencies, single HTML — just open it in Chrome.

v1.0.1 — UI磨き込み / UI polish

12 Jun 12:46

Choose a tag to compare

v1.0.1 — UI磨き込み / UI polish

v1.0.0 から表示まわりを一通り磨き込みました。データ形式(wbs.json)の変更はありませんwbs_viewer.html を上書きするだけで更新できます。

新機能 / New

  • ロゴ・ファビコン — ガントバー+イナズマ線の円形バッジ。タブからも見つけやすく(依存ゼロのまま・data URI埋め込み) / Circular badge logo (gantt bars + inazuma) shown in the toolbar and as the favicon
  • ガントの日付列ハイライト — マウスのある日の列に帯+ヘッダの日付を強調 / The day column under the mouse is highlighted with its header date emphasized
  • バーの日付ツールチップ — 予定枠/実績バーにhoverで「予定 5/11〜6/3 / 実績 5/11〜(進行中)」 / Hover a bar to see exact plan/actual dates
  • バージョン表示 — タイトル下に現在の版を常時表示 / On-screen version label

改善 / Improved

  • 操作バー再設計 — 「ファイルを開く」とD&D枠を統合(クリック=ピッカー/ドロップ=読込・ドラッグ中は点線ハイライト)、区切り線で「呼称|データ操作 … 状態|表示設定」に整理、言語切替は右端へ / Toolbar redesign: open button doubles as the drop target; logical grouping with separators; language toggle moved to the far right
  • 寄せの規律 — 「文章は左・値は右」。日付4列を右揃え+桁揃えフォントに / Alignment discipline: text left, values right (dates right-aligned with tabular figures)
  • 表の区切り線 — 階層帯の上でも見えるニュートラルグレーに統一。ボタン枠線も罫線から分離して視認性向上 / Table grid and button borders made clearly visible on tinted rows
  • 見出しの整理 — 単位は2行目に小さく(工数/(人日))、時間列の冗長な(h)は廃止(EN: Hours)、年月>日>曜日の濃度階層、列見出しの高さ統一、開始/終了の区切り線修正 / Header cleanup: units on a small second line, clearer year-month emphasis, consistent label heights
  • 文言 — 状態表示を「更新:」に統一(更新ボタンと語彙一致)、工数ツールチップ「工数(人日) = 数量 × 時間(h) ÷ 8h(所定労働時間)」 / Wording: status label matches the Reload button; effort formula tooltip
  • README刷新 — ロゴ・「30秒で始める」・最新スクショ / README restructured with logo, quick start, fresh screenshots

修正 / Fixed

  • 📅 カレンダーのクリアボタンで日付が消えない問題(#56) / Calendar clear button now clears the date (#56)
  • 備考欄のURL自動リンク(#54・v1.0.0直後に実装) / Auto-linked URLs in notes (#54)

v1.0.0 — 初回リリース / Initial release

11 Jun 10:00

Choose a tag to compare

single-file-wbs v1.0.0

単一HTMLで動く WBS/ガント+イナズマ線ビューア・エディタの初回安定版です。
A single-file WBS / Gantt viewer & editor with the Japanese inazuma (progress) line.

使い方 / Getting started

  1. 添付の wbs_viewer.html をダウンロードして Chrome で開く(サーバー・インストール不要)
  2. 添付の wbs.json(架空のサンプル)を「ファイルを開く」で読み込むとすぐ試せます
  3. アップデート方法: 新しい wbs_viewer.html で上書きするだけ。あなたの wbs.json には一切触れません

Download wbs_viewer.html, open it in Chrome (no server, no install). Load the bundled sample wbs.json to try it. Updating = overwrite the same HTML file — your data is never touched.

主な機能 / Features

  • 📊 ガント+予実オーバーレイ — 予定(枠)に実績(塗り)を重ね、はみ出し=遅延が直接見える
  • イナズマ線 — 着手遅延・終了遅延を1本の折れ線で(左へ突出=遅延)
  • ✏️ ブラウザ内編集 — インライン編集・自動保存・保存状態表示・誤操作はCtrl+Zで復旧(折りたたみ)
  • 🤖 AIチャット保守 — CLAUDE.md 同梱。Claude Code に「○○を完了にして」「6月を1週間後ろ倒し」が一言で通じる
  • 🌐 日本語 / English UI 切替
  • 🔒 依存ゼロ・外部送信ゼロ — 単一ファイル46KB・file://直開き・Chromium系対応

互換性 / Compatibility

  • データ形式は後方互換(旧 {project,tasks} 形式も読み込み可)
  • 壊れた入力でもクラッシュしない graceful degradation 設計
  • Google Chrome 推奨・Edge 等 Chromium 系対応(Firefox/Safari 不可)

🤖 Generated with Claude Code