設計ノート: トランスクリプトのヘッダー領域へのはみ出し描画(クリッピング)
This content is not available in your language yet.
- 日付: 2026-07-31 / ステータス: 採用済み
- 発見経緯: Phase 3デプロイ後のスモークスクリーンショットで検知。遡って確認するとPhase 2時点のユーザー提供スクリーンショットにも同じはみ出しが写っており、Phase 3のリグレッションではなく長期潜在バグ(スクロール時のみ顕在化し、見逃されていた)
症状と機構(実機で数値確認済み)
Section titled “症状と機構(実機で数値確認済み)”- スクロールで画面外(上方向)に出たメッセージ行が、透明なヘッダー領域の上に描画される
- worldBound計測ではheader(y=21,h=28)/container(y=49)/status(y=441)とレイアウトは完全に正常 — 問題はペイントのみ
- UITKは後の兄弟要素を上に描画する。ルート構成は header → view-container → status-bar の順のため、コンテナ内容がクリップを逃れると常にヘッダーの上へ描かれる(ヘッダーを不透明にしても解決しない — 描画順で負けるため)
- チャットScrollView自身のビューポートクリップがなぜ漏れるのかは未特定(UITKデバッガでの対話調査が必要。既知候補: リッチテキストの描画境界、行要素のネガティブ座標時の挙動)
検討した選択肢
Section titled “検討した選択肢”| 案 | 内容 | 判定 |
|---|---|---|
| A | .uap-view-container { overflow: hidden; } による外周ハードクリップ | 採用 — 内側のScrollViewの挙動に依存せず「ビュー内容はコンテナ帯域から絶対に出ない」を構造的に保証。1行+コメント |
| B | ヘッダー/ステータスバーを不透明化 | 棄却 — 兄弟描画順により効果なし(コンテナが後勝ち) |
| C | ScrollViewビューポートのクリップ漏れ自体の根本修正 | 保留 — 対話UITKデバッガが必要。案Aで実害は封じられるため、原因調査は次回のライブエディタ検証パスの項目とする |
案Aを実装。案Cの根本調査は phase1-verification.md の手動確認項目に追加(ライブパスでUITKデバッガによる特定を行い、判明したら本ノートに追記)。