purpose
アカウントの色設定に「色を持たない」を足す。選ぶと、その参加者だけ地の文字色(--fg)で表示される。
Master の要望(2026-08-26)は当初「白を追加できるか」だった。文字どおりの白と「色を辞退する」の二択を示し、Master は後者を選んだ。
premise
白は今の作りでは表現できない。 アカウントが持つのは hue: Option<f64>(角度ひとつ)であり、実際の色は oklch(var(--speaker-l) var(--speaker-c) <角度>) で組まれる。明度と彩度はテーマが持つ固定値:
--speaker-l
--speaker-c
明るいテーマ
0.528
0.104
暗いテーマ
0.715
0.087
白は oklch(1 0 …) すなわち明度 1 / 彩度 0 であり、角度をどこへ回しても届かない。八色の一覧に白を足せないのは選択肢の不足ではなく、軸が足りないためである。
明度をテーマごとに変えているのは読みやすさのためで、src/styles.css の註釈がそう書いている——「この対はどの角度が乗っても、このテーマで読める状態に保つ」。明るいテーマの背景に明度 1 を置けば字は消える。文字どおりの白を足すと、この設計が閉じた問題が開く。
一方 --fg は両テーマで読める。 暗いテーマでは #e8e8ea であり、画面上はほぼ白に見える。要望の見た目は、暗いテーマにおいてはこれで満たされる。
constraints
現行の状態は二つ。Some(角度) = 選んだ、None = 名前から導出。src-tauri/src/config.rs の註釈が「既定値ではなく不在にしてある。選んだことと導かれたことは別の状態である(fix(session): let a participant declare who they are in the room #45 )」と明示している。
したがって「色を辞退した」は三つ目の状態 であり、None に相乗りさせられない。角度の欄に番兵値を入れる形も採らない——欄の意味が角度でなくなる。
--speaker-l / --speaker-c は参加者が選べない値のままにする。この issue が足すのは「この対を使わない」という選択であって、対を上書きする権利ではない。
未確定(詰めるところ)
型をどう広げるか。hue とは別に宣言を持つか、三状態を表す一つの型にするか。設定ファイルの後方互換(既存の hue を読む経路)を壊さないこと。
一覧での見え方。「既定(名前から)」の隣に「色なし」を置く形でよいか。
自分自身(user 種別のアカウント)との見分け。地の文字色は画面の持ち主の色でもあるため、辞退した参加者が自分と同じ見え方になる。feat(ui): surface the participant panel the design already specifies #43 が「宣言した色は他の参加者と同じ重さで並ぶ」ことを狙っていた軸に触れる可能性がある。
purpose
アカウントの色設定に「色を持たない」を足す。選ぶと、その参加者だけ地の文字色(
--fg)で表示される。Master の要望(2026-08-26)は当初「白を追加できるか」だった。文字どおりの白と「色を辞退する」の二択を示し、Master は後者を選んだ。
premise
白は今の作りでは表現できない。 アカウントが持つのは
hue: Option<f64>(角度ひとつ)であり、実際の色はoklch(var(--speaker-l) var(--speaker-c) <角度>)で組まれる。明度と彩度はテーマが持つ固定値:--speaker-l--speaker-c白は
oklch(1 0 …)すなわち明度 1 / 彩度 0 であり、角度をどこへ回しても届かない。八色の一覧に白を足せないのは選択肢の不足ではなく、軸が足りないためである。明度をテーマごとに変えているのは読みやすさのためで、
src/styles.cssの註釈がそう書いている——「この対はどの角度が乗っても、このテーマで読める状態に保つ」。明るいテーマの背景に明度 1 を置けば字は消える。文字どおりの白を足すと、この設計が閉じた問題が開く。一方
--fgは両テーマで読める。 暗いテーマでは#e8e8eaであり、画面上はほぼ白に見える。要望の見た目は、暗いテーマにおいてはこれで満たされる。constraints
Some(角度)= 選んだ、None= 名前から導出。src-tauri/src/config.rsの註釈が「既定値ではなく不在にしてある。選んだことと導かれたことは別の状態である(fix(session): let a participant declare who they are in the room #45)」と明示している。Noneに相乗りさせられない。角度の欄に番兵値を入れる形も採らない——欄の意味が角度でなくなる。--speaker-l/--speaker-cは参加者が選べない値のままにする。この issue が足すのは「この対を使わない」という選択であって、対を上書きする権利ではない。未確定(詰めるところ)
hueとは別に宣言を持つか、三状態を表す一つの型にするか。設定ファイルの後方互換(既存のhueを読む経路)を壊さないこと。user種別のアカウント)との見分け。地の文字色は画面の持ち主の色でもあるため、辞退した参加者が自分と同じ見え方になる。feat(ui): surface the participant panel the design already specifies #43 が「宣言した色は他の参加者と同じ重さで並ぶ」ことを狙っていた軸に触れる可能性がある。