Skip to content

設計ノート: トランスクリプトのヘッダー領域へのはみ出し描画(クリッピング)

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デバッガでの対話調査が必要。既知候補: リッチテキストの描画境界、行要素のネガティブ座標時の挙動)
案内容判定
A.uap-view-container { overflow: hidden; } による外周ハードクリップ採用 — 内側のScrollViewの挙動に依存せず「ビュー内容はコンテナ帯域から絶対に出ない」を構造的に保証。1行+コメント
Bヘッダー/ステータスバーを不透明化棄却 — 兄弟描画順により効果なし(コンテナが後勝ち)
CScrollViewビューポートのクリップ漏れ自体の根本修正保留 — 対話UITKデバッガが必要。案Aで実害は封じられるため、原因調査は次回のライブエディタ検証パスの項目とする

案Aを実装。案Cの根本調査は phase1-verification.md の手動確認項目に追加(ライブパスでUITKデバッガによる特定を行い、判明したら本ノートに追記)。