Skip to content

台本下部中央にセリフ送りナビを追加#5

Merged
radish2951 merged 6 commits into
mainfrom
feature/dialogue-nav
Jun 6, 2026
Merged

台本下部中央にセリフ送りナビを追加#5
radish2951 merged 6 commits into
mainfrom
feature/dialogue-nav

Conversation

@radish2951

Copy link
Copy Markdown
Owner

概要

台本スクロールエリアの下部中央に、横並びのナビゲーションバーを新設しました。選択キャラの次/前のセリフへ素早く飛べます。

ボタンは左から

表示 動作
« 最後へ(台本の末尾=左端へ)
次のセリフへ(選択キャラの次のハイライトへ)
前のセリフへ(選択キャラの前のハイライトへ)
» 最初へ(台本の先頭=右端へ)

変更点

  • ScriptNav を新設。これまで FAB(右下)にあった最初へ・最後へのスクロールもこちらへ集約
  • FloatingActions(右下 FAB)は txt 書き出し・印刷のみに整理
  • 次/前の判定は縦書き(vertical-rl)の幾何(start=右・end=左)を踏まえ、画面中央を基準に隣のセリフを中央へ寄せる方式。判定本体は純粋関数 findAdjacentDialogue に切り出して src/lib/scriptNav.test.ts でテスト
  • セリフ要素に data-dialogue-id を付与し、対象セリフへスクロール
  • 印刷時はナビバーを非表示

確認

  • typecheck / lint / test(68 passed)/ build いずれも通過

🤖 Generated with Claude Code

選択キャラの次/前のセリフへスクロールするボタンを新設し、最初へ・最後へと
合わせて画面下部中央へ横並びで配置(左から 最後へ・次のセリフ・前のセリフ・最初へ)。
スクロール系は FloatingActions から ScriptNav へ移し、FAB は txt・印刷のみに整理。

次/前の判定は vertical-rl の幾何(start=右・end=左)を踏まえた純粋関数
findAdjacentDialogue に切り出してテスト。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 6, 2026

Copy link
Copy Markdown

Deploying script-printer with  Cloudflare Pages  Cloudflare Pages

Latest commit: d22824a
Status: ✅  Deploy successful!
Preview URL: https://6565a791.scriptprinter.pages.dev
Branch Preview URL: https://feature-dialogue-nav.scriptprinter.pages.dev

View logs

radish2951 and others added 5 commits June 6, 2026 15:34
ネイティブ smooth をやめ 250ms の自前アニメーション(easeOutCubic)に変更。
次/前は目標 scrollX を直接指定し、対象セリフの中心をビューポート左右中央へ正確に合わせる。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
サマリ(キャラリスト等)が右側に sticky で重なるため、ビューポート中央ではなく
サマリ左端までの読める領域の左右中央へ対象セリフを寄せる。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
サマリ左端のグラデーションを白ベタに変更し境界をくっきりさせる。
読める領域の右端をサマリの margin-box 左端として算出し、セリフの中央寄せと
ナビバー自体の配置をその左右中央に合わせる(ResizeObserver で追従)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
フェード用だった margin-left と ::after マスクを廃止。サマリ自身の白背景が
背後の台本をマスクするため、余白なしで境界がくっきり揃う。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
スクロール位置を scroll/resize/サマリ変化/ハイライト集合変化で監視し、
先頭で「最初へ・前のセリフ」、末尾で「最後へ・次のセリフ」、対象が無い方向の
送りボタンを無効化する。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@radish2951
radish2951 merged commit 96d0b6f into main Jun 6, 2026
3 checks passed
@radish2951
radish2951 deleted the feature/dialogue-nav branch June 6, 2026 06:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant