Ember: 暖色フィルター下でも生き残るカラーパレット
Emberは、RedshiftやNight Shiftなどの暖色フィルター下でも判別可能なターミナル、チャート、UIカラーパレットを設計する新しいオープンソースプロジェクトです。異なる色温度に合わせた4つのパレットを提供し、Alacritty、iTerm2、Windows Terminal、Matplotlib、CSS、JSON向けのエクスポートを備えています。

RedshiftやNight Shiftを有効にして夜にコードを書いているなら、この痛みを知っているだろう。昼間ははっきり区別できる色が、暖色フィルターの下では濁って見分けがつかなくなる。Emberは新しいオープンソースプロジェクトで、攻撃的な暖色フィルターの前後で使い続けられるパレットを設計することで、この問題に正面から取り組む。
Emberの核心的な洞察は、暖色フィルターは単なる色合いの変化ではなく、赤、緑、青の各チャンネルに異なるゲインを掛けることだ。1200Kのような極端な温度では、青チャンネルは実質ゼロになり、青だけが異なる色は同じ出力に潰れてしまう。Emberはこれらのチャンネルごとのゲインをモデル化し、対象フィルター下で知覚的な判別性を最大化するパレットを作成し、残りのチャンネルを昼間の使用に合わせて調整する。
このプロジェクトは4つのパレットを提供する:3400k-dark、3400k-light、2000k-dark、1200k-dark。3400Kバリアントは一般的な用途向けで、MacBookの最大Night Shift効果に近い。より深いプロファイルは、真のRedshift愛好家や天文学者向けだ。フィルターが極端になるにつれて、判別可能な色の数は減る—3400Kでの6カテゴリから1200Kでの3カテゴリへ—なぜなら知覚的な色空間が縮小するからだ。
各パレットはコマンド化されたsRGBで作成され、モデル化されたフィルターゲインの下で検証される。エクスポートには、Alacritty、iTerm2、Windows Terminal用のターミナルテーマに加え、UIサーフェスロール(背景と前景のラダー)、カテゴリカルチャート色、256サンプルのシーケンシャルマップ、Matplotlib/CSS/JSON/Pythonアーティファクトが含まれる。Emberはフィルター自体を適用しない。既にフィルターが実行されていることを前提としている。
ターミナルユーザーにとって、テーマのインポートは簡単だ:Alacritty設定にファイルをコピーするか、iTerm2でプリセットをインポートするか、Windows TerminalのJSONにスキームを貼り付ける。UIロールはファミリー間で一貫しており、bg_0がキャンバス、bg_5が最も強い背景状態だ。Matplotlib APIはcategorical()、sequential()、surfaces()関数を提供し、選択したパレットに一致する容量チェックを行う。
Emberは、暖色フィルターの下でターミナルやダッシュボードを長時間見つめる人にとって、ニッチだが思慮深いツールだ。トレードオフについて正直だ:深いフィルターは判別可能な色の数を減らし、プロジェクトはエイリアスされたターミナルスロットを、ユニークだと偽らずにラベル付けする。ドキュメントは、シミュレーションが示すことと示さないことを明確にしている。
暖色フィルターは色合いのオーバーレイではない:赤、緑、青を異なるゲインで乗算する。1200Kでは青のゲインはゼロなので、青だけが異なる色は同一の出力になる。
| パレット | 使用タイミング | 判別可能なカテゴリ数 |
|---|---|---|
| 3400k-dark | ほぼ黒の背景での汎用暖色テーマ | 6 |
| 3400k-light | 明るいサーフェスでの穏やかな暖色シフト | 6 |
| 2000k-dark | 2000K付近のRedshift | 4 |
| 1200k-dark | 極端な1200Kストレステストプロファイル | 3 |
ディスカッション
0 件のコメント
最初のコメントを投稿しましょう。