Skip to content

feat(ui): let the chat text size be changed #60

Description

@smileygames

目的

会話面の文字サイズを変えられるようにする。Master の実機観察(2026-08-23): 「チャットの文字が大きい」。

前提

会話面だけが寸法を与えられていない

.message .bodysrc/styles.css)に font-size の指定は無い。継承元にも無い — body にも html にも :root にも font-size は書かれていない。したがって会話面はブラウザ既定の 16px で出ている。

まわりは違う。

寸法
会話本文 .message .body 既定のまま(16px)
発言者名・時刻 .message .meta 0.78rem
タイトルバー 0.85rem
参加者パネル 0.72rem0.78rem
端末(xterm.js, src/main.ts 13px

会話面だけが縮められないまま残っている。「大きい」はここから来ている。

これは既定値の議論に効く。既定値は現在の見た目のままとする(完了条件に据える)。揃え直しはこの issue では扱わない。この issue が入れるのは、変えられる仕組みそのものである。

画面ごとの設定であって、アカウントの属性ではない

文字サイズは見る側の都合であり、参加者の同一性とは関係がない。名前や色(#40 / #53)とは別の軸である。

localStorage に持つ。既存の画面設定(表示名、色)と同じ形(#40)。

#59 は着地済み

#59 は PR #61 でマージ済み。名前と色はアカウントのダイアログへ移り、ヘッダに残っているのは題名と 診断 ボタンだけになった。置き場所を取り合う相手はもういない。

制約

  • 会話面(#room)のみに効かせる。 参加者パネル、診断面、端末、入力欄の寸法を変えない。端末は xterm.js が自前の寸法を持っており、巻き込むと桁数と行数がずれる。
  • localStorage に保持する。 再起動しても保たれる。
  • 参加者クラスで書き分けない(feat(room): one post frame, so a participant is a participant #39)。誰の発言でも同じ寸法で表示する。
  • 上限と下限を持つ。読めない大きさ、収まらない大きさへ行けないようにする。
  • 既定値は現在の見た目を変えない。設定していない利用者の画面が勝手に変わらないこと。

操作の与え方

キーボードを主とし、ヘッダに小さな操作を併せて置く。

キーボードだけにしない理由は既定値の側にある。既定は現状維持と決めたので、設定していない画面に出るのは Master が「大きい」と言ったその状態である。見つけられない操作の裏にそれを置くと、知っている者だけが直せる。

対象ファイル

  • src/styles.css — 会話面の文字サイズ変数
  • src/main.ts — 操作、localStorage、適用
  • index.html — ヘッダの操作面
  • docs/0-requirements.md

完了条件

  • 会話面の文字サイズを変えられる。
  • 変えても参加者パネル・診断面・端末・入力欄の寸法が変わらない。
  • 再起動しても保たれる。
  • 上限と下限がある。
  • 設定していない状態の見た目が、この変更の前と同じである。

関連

Metadata

Metadata

Assignees

Labels

enhancement新機能・改善要望ready本文が実装開始できる形まで収束している状態。ただし更新は継続可能

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions