v3.5.1
3.5.1 は安定化および品質向上のためのリリースです。主な重点項目は、Inverse3 とグリップを用いた1対1のセットアップにおける自動ペアリング、および最新の動作データに関する GET /devices/{id} WebSocketのオープンセッションを必要とせず、パワーモードとポジションモードの切り替え時のキーキーという音がなくなり、さらに定常負荷下でのサービスティック用に自動調整機能付きスケジューラを搭載しています。
見どころ
- Inverse3 とハンドルを使用した1対1の設置における自動ペアリング。 Inverse3 とグリップの準備が整うと、SDKは自動的にペアリングを認識します。
pen_attachedまた、Minverse のキャリブレーションの有効化は、複数デバイスを組み合わせた設定においても、誤って処理されることがなくなりました。 - 最新のスナップショットについて
GET /devices/{id}非公開の会議なし。 Inverse3 、Inverse3x、およびMinverse で、ファームウェア v7.5 以降の場合、WebSocket の動作状況にかかわらず、動作ステータスが 20 Hz の間隔で照会されるようになりました。v7.5 以前のファームウェアでは、この照会がスキップされ、一度だけ警告が表示されます。 - 「力」と「位置」の切り替え時に、きしむ音がしなくなりました。 の切り替え
set_cursor_force↔set_cursor_positionスロット排他性:2つのティックの間、各デバイスにつき最新のコマンドのみが保持されます。HARP における200 msのアイドル休止に対する回避策は、もはや有効ではありません。 - 自己調整型ティックスケジューラ。メインループは負荷に応じて送信レートを調整するため、ティックの遅延によってコマンドキューが無限に膨れ上がることはありません。
- 負荷がかかった状態でのストリーミング応答を、「1つ入れば1つ出す」という原則に基づいて処理する。 WSメッセージごとのストリーミング応答は、1セッションあたり1/msに制限されています。この制限が適用されると、以前のバッファが再生されるため、シミュレーションループが
recv()ブロックする。
内部の改善
機器
- Inverse3 ↔ VerseGrip のデバイスごとのペアリング登録。
GET|POST|DELETE /devices/{sel}/paired_withこれは、デバイスごとの1対1の対応関係です。POST双方の対立を解消する;DELETE選択したエントリを削除します。セレクタは、IDを1つにのみ解決される必要があります。 - ファームウェア v7.5 以降では、20 Hz で動作ステータスを照会します。
GET /devices/{id}50 msごとに最新の値をcursor_position,cursor_velocity,angular_positionundangular_velocity; アクティブなセッションには影響しません。 set_extension_dataVerseGrip用、無線による速度制御機能付き。 パイプラインは古い値を破棄し、アイドル時には直近の値を繰り返し、サービスティックが発生すると内容がクリアされます。送信頻度が高すぎても無線回線が飽和することはなくなり、送信頻度が低すぎても古い値が残ることはありません。
会議
- 純粋な制御バッチ(力/位置)用の新しいWS受信ショートカットは、設定依存のパイプラインをスキップします。
configure/set_profileまた、ユーザー定義コマンドは引き続きRace-Fixを介して実行されます。
可観測性
- 検出のログクロックはポートごとに制御され、メッセージの持続時間が考慮されます。 ブロックリストに登録された各ポートは個別に帯域制限がかけられます。繰り返し出現する行は
"...blacklisted: skipping"現在は~を身に着けている(×N)2回のトリガーの間に抑制されたティックについて。 - VerseGripによる無線検出は、WVG非対応のデバイスが照会された場合、ログを溢れさせることはなくなりました。
不具合の修正
POST /device.config.presetmitdefaultsoderarm_frontこれで、本機のマウントが工場出荷時の設定にリセットされます(以前は何も行われませんでした)。basisこの設定は保持されるため、アプリで設定されたベースは、マウントのデフォルト設定の変更後も維持されます。force_render_full_state欠落しているスナップショットをもう提供しませんconfig-ブロック、適切な構成が同じWSメッセージで受信された場合――構成パスはスナップショットの前に同期処理されます。- セッションをまたがる
force_render_full_state対象の完全なスナップショットを提供します。 AとBの両方が、完全なペイロードを受信するようになった(以前はAはストリーミングデータのみを受信していた)。 - セッションをまたぐコマンドで、不明な
target_session_idリクエスト・レスポンスのループを妨げなくなりました。 質問者は、自分専用のスナップショットとイベントを受け取りますsession-command-dropped(cross-session-unknown-target). - Minverse の有効化 — 複数のデバイスにわたるキャリブレーションによる誤動作が解消されました。 Minverse Aのキャリブレーションによって、Minverse Bが有効化されることはなくなりました。この修正は、inkwell-success時のヘディングブロードキャストについても同様に適用されます。
- HTTPのデバイスセレクター 承認済み
#1234und1234デバイスIDとして;セレクタクラス(inverse3,verse_grip) はインデックスと連動して機能します。404エラーメッセージでは、元のセレクタ式が維持されます。 - Das
ready-VerseGripでの無線によるフラグ これは、初期のデバイス情報ハンドシェイクが完了した後にのみ設定されるようになった。以前は、デバイスが完全にログインを完了する前に、特定の再接続パスにおいて値が変動することがあった。 - キーレートゲートに基づく設定に対する実行時間の変更は、次回のアクセス時に反映されるようになりました(以前は、最初の「emplace」実行時に固定され、新しいセッションでのみ変更が反映されていました)。
発生しうる互換性破りの変更
- HTTPの404エラーメッセージが統一されました über
basis,preset,mount,transform,force_gatehinweg:"{type} device #{id} not found"→"no device matches selector '{expr}'". セッションに関する404エラーメッセージも同様に修正されました。 - 設定-グローバル
devices/inverse*/...→devices/*inverse/...力のスケーリングの強化、フォースゲートの強化、制御タイムアウト、およびsafeties/expose_in_snapshot. 3.5.0 の設定ファイルで、旧形式のリテラルを使用していると、バインド時にエラーが発生します。 - 設定:シリアライゼーションのグローバル変数を以下の場所に移動しました
session/serialization/*(explicit_fields,force_complete_transforms,preview/*). アルテserialization/*-パスは、旧式のアリエイスを介して引き続き解決されます。4.0で削除されます。 - 動作:メッセージごとの WS 応答をティック同期ハンドシェイクとして使用するクライアントは、持続的な負荷下では、1 ミリ秒あたり、かつ 1 セッションにつき最大 1 回の応答を受け取ります。設定変更時の完全なスナップショットには影響はありません。
廃止された機能
3.5.1 には含まれていません。プレビューのメインスイッチは、3.6 で導入される予定のパイプラインのための基盤であり、このパイプラインは「サイレント」な通知を警告に変換します。最初の非推奨化は 3.5.2 で予定されています。