Skip to content

release: ペインのタブ化・タブ別自動 resume・UI アニメーション改善#87

Merged
sasagar merged 4 commits into
mainfrom
dev
Jul 12, 2026
Merged

release: ペインのタブ化・タブ別自動 resume・UI アニメーション改善#87
sasagar merged 4 commits into
mainfrom
dev

Conversation

@sasagar

@sasagar sasagar commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

dev → main のリリース PR です。

含まれる変更(#86

  • feat: UI アニメーションを整備(モーショントークン・電力/Reduce Motion 対応)
  • feat: 端末ペインのタブ化とフォーカス制御
  • feat: Claude セッションのタブ別記憶と自動 resume・終了時保存
  • test: PaneTiling テストのタブグループ API 追随とタブ挙動テスト追加

検証

  • CI 全チェック緑(swift test 99 件 / app build & test 44 件、Xcode 16.4/Swift 6.0)
  • 実機確認済み: タブ構成・選択の保存/復元、タブ別 auto-resume(4 会話復帰)、フォント/テーマ読み込み、ウィンドウ被覆時のアニメ停止

sasagar added 4 commits July 13, 2026 00:03
- LaboTheme.Motion(feedback/move/tint)を導入し曲線と時間を統一
- 円形ボタンを押下即時・解放 150ms の非対称アニメに(縮み 0.95)
- ファイルツリーの開閉シェブロンを 180ms で回転(行の出入りは即時のまま)
- Diff⇄全文ピルの選択カプセルを matchedGeometryEffect でスライド
- コピー通知のフェードを 150ms ease-out に
- ステータスピル: 変更数の数字ロール・状態色のクロスフェード・
  実行中/入力待ちを示す sparkles の symbolEffect
- WindowVisibilityReader を追加し、ウィンドウ非表示中は継続アニメを停止
- リーフを「タブグループ(複数ペイン + 選択)」に拡張。中央ドロップで合流、
  端ドロップは従来どおり分割(swap は廃止)。チップのドラッグでタブ単位の移動も可能
- 非表示タブは isHidden + setSurfaceVisible で描画だけ止め、pty/スクロールバックを温存
- タブ切替は木を再構築せず isHidden 張り替えのみ(チラつき防止)。選択・移動・分割・
  クローズ・新規端末のいずれでも「新しく前面になった端末」へキーフォーカスを渡す
- 保存形式は panes/selectedIndex を追加しつつ、単一タブは旧形式で書いて後方互換
- ペイン別 config で LABOLABO_PANE(ペイン UUID)をシェル環境へ注入
  (ユーザー config は内容をインライン取り込み。command 設定は意図的に無視)
- hook フォワーダが LABOLABO_PANE を labolabo_pane_id としてイベントへ付与し、
  エンジンが AgentStatusEvent.paneID として解釈(手打ちの claude も対応付く)
- タブごとに(セッション ID, transcript パス)をレイアウトへ保存。プリセット・
  既定配置への保存時は除去
- 復元セッションの初回表示時、各タブへそれぞれの claude --resume を自動入力
  (設定でオフ可・transcript が実在しない空セッションはスキップ・
  旧 claude の遅延 SessionEnd で status が ended になっていても resume する)
- サイドバーのエージェントドットを PhaseAnimator 駆動に(実行中=ピング、
  入力待ち=呼吸ハロー)。ホバーの × はスペース常時確保でレイアウト不動に
- willTerminate で全セッションの最終レイアウト(divider ratio 含む)を同期保存
- 旧 API(TileNode.pane / swap)への参照を selectedPane / move(center) に更新
- 追加: 中央ドロップ合流・端ドロップ分割独立・タブ単位クローズ・
  タブグループの snapshot 往復(セッション ID / transcript パス込み)・
  単一タブの旧形式書き出しと旧データ読み込み(後方互換)・
  strippingAgentSessions の除去確認
@sasagar sasagar merged commit 6744e83 into main Jul 12, 2026
5 checks passed
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