claude の /effort セレクターを逆コンパイルしたソースから 1:1 で抜き出す
claude-effort-selector は Claude Code のあの /effort セレクターを 1:1 で複製したプロジェクト。ultracode に切り替えたときにマーカーの位置から広がる紫の波紋、配色・波紋・レイアウトを全部そのまま持ってきていて、スクリーンショットを見て近似で合わせたものではない。
やり方は claude.exe を直接逆コンパイルして、レイアウト定数、各ステージの配色、ultracode の波紋の数式をソースから抜き出し、元の値をそのまま使う。狙いはそっくり同じであって、似ている、ではない。
実装は二つ用意した。一つは端末 TUI で、純粋な Python 標準ライブラリで書いた effort_selector.py と、それが依存する ui/ レンダリングエンジンパッケージ一式。自己完結していて、コピーすればそのまま動く。もう一つは単一ファイルのウェブ版 claude-ultracode-effort-card.html で、ブラウザでダブルクリックすれば開く。ビルド不要、依存もなし。手早く効果を見たいならウェブを開き、細部をフレーム単位で詰めるなら端末を回す。
ステージは六つ、low / medium / high / xhigh / max / ultracode。前半はクリーンなグレー文字にアクセントカラー、xhigh は微かな光が一筋走り、max はレインボー、トリを飾る ultracode が主役。紫の波紋は cosine 波に乗り、8 段階の violet パレット、白文字をその上に重ね、マーカーの位置から一周ずつ外へ広がる。波紋はインラインの数式の塊としては書かず、ui/field.py::Ripple にセルごとのサンプリングを任せ、元の実装の構造に揃えてある。各セルの色は計算で出しているので、後で照合するのも楽。
端末版は Windows で一つ落とし穴がある。UTF-8 を設定しないと紫のブロックと枠線が文字化けして疑問符になるので、先にエンコーディングを設定しておく。
$env:PYTHONIOENCODING="utf-8"
cd effort_selector
python effort_selector.py # ← / → 切换 Enter 确认 Esc 退出
python effort_selector.py --once --stage ultracode --frame 1 # 单帧 确定性 逐帧对比用
--once --stage ultracode --frame 1 は位置合わせを調整するときに一番よく使う。出力が確定的なので、フレーム単位で元と比べられる。環境全体は軽く、Python 3.x の純粋標準ライブラリで依存ゼロ。低レイヤーから抜き出したものなのだから、その上にさらに依存の層を積む理由はない。