3.5.1 (2026年5月28日) {#351-2026-05-28}
内部改善 {#internal-improvements}
core/gates:backoff_time_gate および suppressed-hit カウンター (cc989c0)、#244 をクローズcore/gates:streak_gate および keyed バリアント (748f419)、#244 をクローズデバイス:Wireless Verse Grip に充電インジケーターを追加 (6482bd6)デバイス:inverse3 のモーション状態を 20 Hz でポーリング (bfc160d)デバイス: レディ スナップショットのデバッグログで v3.1 シリアライズを使用 (0c59c26)http:詳細設定/非推奨設定で完全一致の GET ルートを許可 (2b5f037)http:フラグによって GET /settings の表示を制御 (4f013d8)、#251 をクローズmodules::inverse: プレビューモード ゲートの向こう側で paired_with.auto を公開 (1f7f0e1)、#230 をクローズシリアライゼーション: リリース前のフィールド用のグローバルフラグ プレビューモード を追加 (422e822)、#230 をクローズシリアライゼーション:v3.1 のクォータニオンにオイラー表現を追加 (c32dd6b)、#239 をクローズシリアライゼーション: 明示的な 四元数 コンストラクタとコアの代入演算子 (677ed6f)sessions:ストリーミング応答のスロットリングにおいて、ミリ秒未満の間隔を許可 (9a42719)sessions:プレビューゲート付き /sessions v3.1 拡張 (6c1c8f2)設定: その他/非推奨 を詳細設定に昇格 (b3528d7)チュートリアル:ストリーミング応答のフレームチェック用プロトタイプ (6b57c39)バグ修正 {#bug-fixes}
command_processor:「Force/Position」切り替え時のモード反転を防止 (d754ef1)、#232 をクローズcommand_processor:ワンショットのインラインドレインを ZOH 制御から分離 (5960498)、#117 をクローズcore::gates:keyed time-gate がヒットごとに最新の期間を反映するようになりました (c73b86a)検出:extra_ports の初回インジェクションログを統合 (57e21d7)検出:keyed_gate によるポートごとのログ制御 (04b8d54)、#243 をクローズdevices:情報の取得完了後にのみ、wireless verse grip を ready としてマークする (dfd7d5d)デバイス: wireless verse_grip に対する set_extension_data レート制限 (011d5a0)http:デバイスセレクタが「#1234」と「1234」をデバイス ID として受け入れるように (1452c10)http:macOS のリリースビルドを妨げていた未使用の context フィールドを削除 (-Wunused-private-field) (5345989)modules::inverse-ux: Inverse3 1台とグリップ1個が接続された際に自動ペアリング (41b3024)、#227 #227 をクローズmodules::inverse-ux:トポロジーが 1対1 を超えて拡大した場合は、自動ペアを破棄する (e4fb80c)modules::inverse: Minverseのキャリブレーションで force_attached による上書きを反映 (e24bf84)、#224 をクローズmodules::inverse: Minverse および初回 POST における paired_with の 添付 が常に [secure] になるように (cafb574)modules::inverse-ux:デバイスごとのInverse3 ↔ VerseGrip ペアリングレジストリ (ac63d2a)、#224 をクローズmodules::inverse: POST および DELETE の ペアリング ルートが計算されました 添付 状態を返すように (a751208)サービスがWVG以外のデバイスをWVGとして検出しようとした際の繰り返し警告を防止 (17ad373)protocol::inverse3:可変長の 0xBA 通知ペイロードを処理 (61f7b1f)service:インデックスとともにデバイスセレクタのクラスを適用 (2d6422a)service:404 メッセージ内でデバイスセレクタの式を保持 (d2c4626)セッション: デフォルト / 腕(前面) 適用時に apply_preset がマウントをリセット (a333da8)、#240 をクローズsessions:セッション横断 ID が不明な場合は、自身をターゲットとしてフォールバック (14367ed)、#239 をクローズsessions:セッション横断の force_render_full_state により、すべてのスナップショットを返す (8afc646)sessions:session.configure.serialization の execute:[secure] を尊重する (3458af0)セッション: デフォルト / 腕(前面) プリセットの適用時に、デバイスのマウントを解除した状態を維持する (698008b)、#252 #253 をクローズセッション: デフォルト / 腕(前面) プリセットでマウントを identity にリセット (a0a2b29)、#240 をクローズsessions:スロットルされたストリーミングスナップショットにおける WS 応答の復元 (787a656)、#248 をクローズsessions:持続的なシミュレーション負荷下における WS RX ホットパスの安定化 (e4e55d0)パフォーマンスの改善 {#performance-improvements}
command_processor:制御専用のバッチ向けに WS RX のファストパスを追加 (92bb4e8)、#241 をクローズengine:AIMDダンピングによる適応的ディスパッチレートの収束 (b8fc1c8)、#249 をクローズmain_loop:処理中のティックの上限で asio キューを制限 (8d77823)シリアライゼーション:プレビューオプションを静的構造体にキャッシュ (8698636)、#241 をクローズセッション:HotPass における session::_mutex の競合を軽減 (bf117c8)、#241 #242 をクローズセッション: セッションのデバイス呼び出しに対する Tracy の ゾーンスコープ を付与 (7404990)