3.5.3 (2026年8月6日) {#353-2026-08-06}
内部の改善 {#internal-improvements}
core/log:遅延フォーマットhaply_* のマクロ形式を追加 (cf7dbfc)、#271 をクローズcore:ピボットおよびコンポーズ/逆変換プリミティブの追加 (01080f6)、#283 をクローズデバイス:0xE4 ボディの向きキャッシュおよび trigger_mode のルーティング (#265) (4864700)devices:サービス側での 0xE4 IMU センサーフレームの補正 (#286) (e6d877c)、tapi-prototype-firmware#87 をクローズdevices:inkwellのキャリブレーション時にbody_orientationを更新 (#268) (89b190b)、#286 #286 #286 をクローズデバイス:リアルタイム(0x0C)と基準(0xE4)のボディオリエンテーションの分離 (#286 #315) (638487a)、#268 #266 #268 をクローズhttp:サポートされていないプロトコルの応答を422に統一 (e0e7638)、#293 #293 #295 をクローズhttp:transform のエコおよび sdf 入力を、オイラー対応パッチへ移行 (#279, #280, #291) (bb29404)http:「scope=device」を削除した際のデバイスマウントの初期化 (#265) (f6bf26b)、#286 をクローズmodules::navigation:モーションロックにクラッチモードを追加(ゲート適用、デフォルトはオフ)(4b69eed)、#308 #308 #283 #308 をクローズmodules::navigation:prevent_default の適用ボタンを入力;clutch force_scale;バブルの「長押しでナビゲート」機能のサポート (fb216aa)、#317 #318 #316 #317 #318 をクローズmodules::navigation:クラッチの max_motion/force_scale の上限設定 (a946088)、#316 をクローズmodules::navigation:ミラーリングされた機能のキルスイッチ、両方ともデフォルトで有効化 (b6ee0c0)、#318 をクローズmodules::navigation:inputs[] に対する入力ごとの設定パッチ;バブルが status.engaged を発行 (ba2058f)、#318 をクローズプロトコル:キャパビリティファイルの分離、ダンピングゲート、ベースのホイスト (30d7d5d)、#293 をクローズプロトコル:キャパビリティテーブル + 単一の非対応発行元 (289382e)、#293 および #295 をクローズプロトコル:テーブルを介して home_return および pen_attached ゲートを適用 (8a05d20)、#293 をクローズプロトコル:fw_version の導入およびバージョンチェックの移行 (38c2cae)、#293 をクローズシリアライゼーション: v3.1 세션 패스에 grip 버튼 마스크 적용 (7b93e35), closes #316シリアライゼーション:euler.output の下位 config.mount の回転値に euler 値を出力 (#268) (f6b54a2)シリアライゼーション:euler.output サブトランスフォームの回転値にオイラー値を割り当てる (96c6cc9)、#283 をクローズシリアライゼーション:set_transform にワークスペースの zoom-about-pivot を公開 (#309) (c1d08fc)、#280 をクローズシリアライゼーション:config/body_orientation trigger_mode の平坦化 (#265) (8781b8a)、#268 をクローズシリアライゼーション:transform ノブをセッションごとの serial_options に昇格 (#280) (03b2fd6)シリアライゼーション:config/mount を scope と body_orientation に分割 (#265) (5618839)、#280 をクローズシリアライゼーション:セッションオプションを出力全体に渡すようにし、ネストされたreshapeにゲートを適用 (#279, #280) (59984ce)、#265 をクローズシリアライゼーション:WSおよびHTTPのデコード設定の統一 (#280) (6076917)sessions:「disengage bake」を含む汎用モーションロック機構を追加 (c8d2a93)、#304 をクローズsessions:live_motion 追加: ティック単位のモーションロック処理 (ゲートの適用) (d29013c)、#308 #304 #308 をクローズsessions:メインループ経由のマネージャーレベルのセッションオブザーバーを追加 (83e76ef)、#284 をクローズsessions:マウントの親変更およびワークスペースの「ピボットを基準としたズーム」機能を追加 (294d6e8)、#265、297、#272、#304 をクローズsessions:名前空間が適用された config.body_orientation イベントスコープを追加;レガシーな「values」入力に対する警告 (3f70047)、#320 をクローズsessions:プレビュー config/mount ソースおよびトリガーのルーティングを追加 (#265) (5d11dbf)、#268 をクローズsessions:マウント領域でのデバイスのマウントの保存・読み込み (#265) (4cec178)、#292 をクローズsessions:pivot echo を含む set_workspace_transform_around の一般化 (0b242a2)、#309 をクローズsessions:グリップボタンのマスク + force_scale オーバーレイの仕組み (836ef2f)、#316 をクローズsessions:クライアントプロファイルに基づいて、Tracyのセッションプロットにラベルを追加 (72a8f34)、#258 をクローズsessions:マウントスコープのルーティングおよびストレージ仮想化 (#265) (9a4e7f4)、#286 #293 後の課題をクローズsessions:セッションごとの force_scale ダッキング (プレビュー) (bff66ad)バグ修正 {#bug-fixes}
ci:変更履歴の復元のためにリリースツールチェーンを固定 (72c6773)、#313 をクローズ新しいglazeへの対応に関するコンパイルの修正 (e2c53d3)依存関係:rust crate nix を 0.31 に更新 (b3b9a84)devices:転送のボトルネック箇所で safety-config プロトコルにゲートを適用 (b8e8401)、#295 をクローズデバイス:ファームウェアのバージョンおよびキャリブレーション基準に基づき、safety-config の書き込み保護を設定(5ad5128)、#295 をクローズデバイス:ウェイクアップ安定化期間中は、inverse3の配線を接続したままにする (4afed45)デバイス:ウェイクアップの安定化期間中、inverse3の配線を維持する (79c2b66)devices:有線Verseグリップでの[secure]バッテリー通知の抑制 (ea54a1a)、#314をクローズhttp:セッションスコープの「safety」への書き込み時にキャリブレーションを確認 (89f9cd7)、#295 #293 をクローズhttp:セッション規約に基づくオイラー回転値の統合 (#288) (97cf203)inverse_ux:calibration_notifier の処理を Minverse に限定 (418913f)クラッシュ防止のためのライフタイムの整理 (e7b3785)modules::inverse-ux:ファームウェアがブロックした場合は常に「calibration-failed」を発行する (3841d06)modules::inverse-ux:ペアリング済みのデバイスを1つ交換した後、再ペアリング (cf85707)、#278をクローズmodules::sdf:セッション規約に基づく sdf transform euler の統合 (#291) (9741ac6)modules::sdf:SDF 図形をクライアント座標系に合わせて方向を設定 (c29e4f2)、#276 をクローズプロトコル:サービスのクラッシュや停止を引き起こすタイマーのライフタイム競合状態を解消 (0cb019b)、#303 をクローズプロトコル:ポートを開く際のシリアルバッファのフラッシュにより、ホットスワップ対応デバイスを認識 (b8724d9)プロトコル:デバイスの消滅による競合状態に備え、ファームウェアのクライアントコールバックを保護 (3d795bb)、#303 をクローズプロトコル:型指定された列挙型と正しいワイヤ形式を用いて、0xE4 IMU方位APIを書き直した (8733ec0)inverse3x の有効化/無効化、BIAハブについて ホームに戻る (f435454)サービス:適応型ディスパッチのデフォルト設定を無効化 (9415638)service:サービスの終了処理を、順序保証、バウンデッド、競合状態なしの方式に改善 (ff888d7)、#303 をクローズセッション: 実際に到達可能な中心に合わせて *_中央揃え* プリセットの中央揃え (ad6e726)、#321 をクローズsessions:マウントの変更時に、Siggraphワークスペースの境界の自動プッシュを削除 (2df1654)sessions:ライブセッションでまだ実行中のデバイスについては、終了中のセッションにおける強制終了のスキップ (e1f9ff7)、#324 を解決sessions:接続時にネゴシエートされた serial_options を start() が消去してしまう問題を修正 (#290) (27e27d8)sessions:set_transform の実行後、ワークスペースの変換速度を 0 に設定 (133c3ad)、#280 をクローズWebSocket:送信セッションのプロトコルに従ってコマンドをデコード (#289) (1b24049)、#265 をクローズパフォーマンスの改善 {#performance-improvements}
core/log:無効化時に fmt::format をスキップするよう、haply_* マクロにゲートを適用 (672a87a)、#270 をクローズmodules::sdf:ティックマダではなく、生成時に一度だけSDFベイクを行う (15350c5)、#277をクローズ