Package-level declarations
Types
MaterialTheme.colorScheme にロールがない拡張カラー(警告色等)をまとめたデータクラス。
KoDriverTheme 配下で拡張カラーを参照するためのエントリポイント。
KoDriver アプリ全体の余白定義。
非同期保存の古い値による入力の巻き戻りを防ぐ文言の状態。 正規化は保存側UseCaseの trim().take(MAX) と一致させる必要がある。 保存反映が conflate されて途中の値を観測できない場合は、タイムアウトで保存待ちを解除する。
操作中と保存待ちの閾値を保持し、途中の保存通知による巻き戻りを防ぐ。
入力欄のカーソル位置への挿入要求を保持する。入力欄ごとに用意する。
Properties
list/detail 構成の画面で一覧ペインの初期幅として使う 400.dp。
KoDriver アプリ全体の角丸定義。 large(16.dp)・extraLarge(28.dp)は Material3 の既定値と同じ値を明示している。
KoDriver アプリ全体のタイポグラフィ定義。
list/detail の2ペイン表示を維持するには実質的な表示領域が不足している姿勢かどうかを返す。
Functions
テーブルトップ姿勢(水平ヒンジで半開き)の場合、ヒンジより下側は操作しづらいため、 コンテンツの高さをヒンジ上端までに制限する。テーブルトップ姿勢でない場合、または 分離する水平ヒンジの情報が無い場合は何もしない。
項目の文字列 ID と入力文言を渡して、Narrator へデバッグ読み上げを要求するカード。
キーに対応するタイトルと内容を表示し、有効状態に応じた透明度を共通の枠へ渡すデバッグカード。
色と装飾記号を呼び出し側で決めるデバッグカードの共通枠。
明示的な熱レベルで値を表示し、未取得時は中立色を使う。
状態をアクセント色のチップで表示する。
未取得の文言と装飾を表示する。文言は呼び出し側で解決する。
1輪分の温度を熱レベル付きで表示する。未取得(formattedCelsius が null)の場合は "-" を表示し、中立色にする。
DetailPaneBodyText を提供する公開関数。
DetailPaneCard を提供する公開関数。
DetailPaneCard の bottomContent で、読み上げ文言などをユーザーが入力するための TextField を提供する公開関数。
DetailPaneDescription を提供する公開関数。
DetailPaneCard の bottomContent で、ラベル付きの読み上げ文言入力欄を提供する公開関数。
詳細ペインの共通レイアウト。戻るボタンの説明文は DetailPaneTopAppBar が内部で解決する。
DetailPaneSubtitle を提供する公開関数。
詳細ペインの上部バー。戻るボタンの説明文は designsystem の文字列リソースから解決する。
strings.xml の printf 形式プレースホルダー(%1$.1f 相当)を含むテンプレート文字列へ小数値を埋め込む。
strings.xml の printf 形式プレースホルダー(%1$d・%1$s 相当)を含むテンプレート文字列へ整数値を埋め込む。 commonMain からは java.util.Formatter 経由の String.format を利用できないため、 本アプリのスライダーラベルで実際に使用しているプレースホルダー・エスケープ(%% → %)のみを サポートする簡易実装。
ヘルプアイコンをタップすると、sheetContent を内容とする ModalBottomSheet を表示するアイコンボタン。 開閉状態は内部で保持する。
説明文と補足画像を横に並べるヘルプシートの内容。画像は装飾なので読み上げ対象にしない。
ヘルプシートを開く見出し行。開閉状態は保存・復元する。
アイコンバッジとタイトル・説明を並べるヘルプシートの行。
JSON・コード等、桁揃えではなく等幅フォントそのものが必要な表示に適用するスタイル。
高頻度で値が変化する数値表示(ラップタイム・タイヤ温度・燃料残量等)に適用するスタイル。
baseStyle(例: MaterialTheme.typography.headlineMedium)に tabular figures だけをマージする。
項目に付ける「LMU」「GT7」等の短いタグ表示に適用するスタイル。
KoDriverTheme を提供する公開関数。
保存待ちの入力状態と、プレースホルダーの挿入チップを備えた読み上げ文言入力欄。 文字列は呼び出し側で解決し、unknownPlaceholdersText は保存前の現在の入力から生成する。
Modifier を提供する公開関数。
readoutItemKeyValue は kurou.kodriver.domain.model.ReadoutItemKey.value の値と一致させる必要がある。 このモジュールは core:domain に依存しないため、型ではなく文字列IDを引数にとる。
読み上げ文言の入力・試聴・既定値へのリセットを提供する。 文言と maxLength は呼び出し側で解決して渡す。
入力中の文言を保持し、正規化後の保存値を順に観測して保存待ちを解除する。 保存待ちが変化してから pendingTimeoutMillis 経過すると、入力を保持したまま保存待ちを解除する。
保存値を同期し、保存待ちの変更から期限が過ぎると外部更新への追従を再開する。
再コンポーズをまたいで挿入要求の状態を保持する。
scrollToTopRequest が正の値に変化したときに scrollToTop を呼び出す。
simulatorId は kurou.kodriver.domain.model.Simulator.id の値と一致させる必要がある。 このモジュールは core:domain に依存しないため、型ではなく文字列IDを引数にとる。
simulatorId は kurou.kodriver.domain.model.Simulator.id の値と一致させる必要がある。
シミュレーターIDに対応する表示名を表示する。
カード全体に敷き詰めるような、より大きな表示領域向けのシミュレーター画像を返す。 simulatorId は kurou.kodriver.domain.model.Simulator.id の値と一致させる必要がある。
ナビゲーション項目など表示幅が限られる場所向けの短縮名("LMU"・"GT7"・"ACE")を返す。 これらは略称であり翻訳対象ではないため文字列リソース化しない。 simulatorId は kurou.kodriver.domain.model.Simulator.id の値と一致させる必要がある。
ThresholdSlider を提供する公開関数。