Skip to content

feat: SvgLayerUpdateにdurationフィールドを追加#30

Merged
HansRobo merged 1 commit intomainfrom
feat/add-duration-field
Jan 31, 2026
Merged

feat: SvgLayerUpdateにdurationフィールドを追加#30
HansRobo merged 1 commit intomainfrom
feat/add-duration-field

Conversation

@HansRobo
Copy link
Copy Markdown
Member

概要

crane側で実装されたlifetimeベースの可視化管理機能との整合性を確保するため、SvgLayerUpdateインターフェースにdurationフィールドを追加しました。

変更内容

  • SvgLayerUpdateインターフェースにduration?: numberフィールドを追加
    • 有効期限を秒単位で指定
    • 0または未定義の場合は無限(期限なし)

設計判断

表示側(foxglove_crane_visualizer)ではdurationに基づく期限管理処理は実装していません。

理由:

  1. crane側のアグリゲーターが期限管理を担当: /aggregated_svgsには期限切れレイヤーは含まれない
  2. スナップショットベースの設計: 表示側は常にスナップショットを基準に合成するため、期限切れレイヤーは自然に消える
  3. 時間シーク機能との整合性: 過去のスナップショットを基準に合成するため、追加の期限管理は不要

今回の変更は将来の拡張に備えた型定義の更新のみです。

テスト

  • TypeScriptビルドが成功することを確認
  • 既存の可視化機能に影響がないことを確認
  • duration付きメッセージを受信してもエラーにならないことを確認

関連

crane側の実装: SvgLayerUpdate.msgfloat64 durationフィールドを追加済み

🤖 Generated with Claude Code

crane側で実装されたlifetimeベースの可視化管理機能との整合性を確保するため、
SvgLayerUpdateインターフェースにduration(有効期限)フィールドを追加。

変更内容:
- duration?: number フィールドを追加(秒単位、0または未定義=無限)
- 表示側での期限管理処理は実装せず(アグリゲーター側で管理)
- 将来の拡張に備えた型定義の更新

🤖 Generated with [Claude Code](https://claude.ai/code)
@HansRobo HansRobo merged commit ea8f950 into main Jan 31, 2026
1 check passed
@HansRobo HansRobo deleted the feat/add-duration-field branch January 31, 2026 05:45
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