跳至主要内容
版本:3.5.x

v3.5.1

3.5.1 是一个稳定版和质量版。主要亮点:支持 1↔1Inverse3 握把配置的自动配对功能,全新 GET /devices/{id} 在没有打开的 WebSocket 会话时仍能保持运动状态,消除在切换力/位置模式时的尖叫声,以及在持续负载下具备自适应调优功能的服务时钟调度器。

亮点

  • 适用于 1↔1Inverse3 握把安装的自动配对功能。 当一个Inverse3 一个手柄就绪时,SDK 会自动注册配对—— pen_attached 以及Minverse 功能,可解决多设备配置中的路由错误问题。
  • 新鲜 GET /devices/{id} 在未打开会话的情况下创建快照。 Minverse 固件 v7.5Minverse ,Inverse3 Inverse3x /Minverse 无论 WebSocket 活动状态如何,均以 20 Hz 的频率轮询运动状态。固件 v7.5 之前的版本会跳过轮询,并仅发出一次警告。
  • 力/位置互换操作不再发出刺耳的尖叫声。 切换 set_cursor_forceset_cursor_position 该机制仅在插槽内有效——每次时钟周期之间,每个设备仅保留最新的一条。HARP 200 毫秒空闲间隙解决方法已不再适用。
  • 自适应时钟调度器。主循环会根据负载情况调整其调度频率,从而防止因时钟周期变慢导致命令队列无限增长。
  • 在高负载下,采用“1进1出”的流式回复机制。 每个会话的按WS消息流式回复上限为每毫秒1次;当达到上限时,系统将回放上一个缓冲区,因此模拟循环绝不会因此阻塞 recv().

内部改进

设备

  • 按设备进行的Inverse3 VerseGrip 配对注册。 GET|POST|DELETE /devices/{sel}/paired_with 这是一对一的设备映射关系。 POST 消除了双方的冲突; DELETE 清除所选条目;选择器必须解析为一个 ID。
  • 关于固件 v7.5+ 的 20 Hz 运动状态调查。 GET /devices/{id} 新鲜回归 cursor_position, cursor_velocity, angular_position, angular_velocity 每 50 毫秒;对活动会话透明。
  • 无线VerseGrip set_extension_data 速率受控。 在服务 tick 时清空“Drop-older / repeat-on-idle”管道——过量发送不再导致无线链路饱和,发送不足也不再留下过期值。

会话

  • 针对仅控制类批处理(力/位置)的新 WS-receive 快速路径会跳过配置感知型管道; configure / set_profile / 自定义命令仍会经过竞态条件修复。

可观测性

  • 检测日志的生成频率是按端口计算的,并且会根据持续时间进行调整。 每个被列入黑名单的端口都独立受控;反复出现的 "...blacklisted: skipping" 该产品线现已推出 (×N) 为那些在两次火灾之间被掩盖的声音。
  • 当检测到非 WVG 设备时,无线 VerseGrip 检测功能不再在日志中产生大量记录。

修复

  • POST /device.config.presetdefaultsarm_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 时不再解锁Minverse ;针对“inkwell-success”标题广播的修复同样适用。
  • HTTP 设备选择器 接受 #12341234 作为设备 ID;选择器类(inverse3, verse_grip) 与索引协同工作;404 错误信息保留了原始的选择器表达式。
  • 无线VerseGrip ready 该标志现在在初始设备信息握手过程中被控制 — 此前在某些重新连接路径上,设备尚未完全完成自我识别时就可能发生翻转。
  • 对基于键控速率门(keyed-rate-gate)的设置所做的运行时更改,现在将在下一次触发时生效(此前:在首次加载时固定;仅新会话会应用该更改)。

可能导致兼容性问题的变更

  • HTTP 404 状态码统一 横跨 basis, preset, mount, transform, force_gate: "{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 响应用作时钟同步握手机制的客户端,每个会话每毫秒最多只能收到一次响应。配置更改时的完整快照不受此影响。

折旧

3.5.1 版本中暂无相关内容。预览主开关是即将推出的 3.6 版本“静默转警告”管道的弃用准备工作;首次弃用处理计划在 3.5.2 版本中进行。