v3.5.1
3.5.1 版本是一个以稳定性和质量为重点的版本。主要功能包括:Inverse3 +手柄的 1↔1 配置下的自动配对功能,以及运动状态显示。 GET /devices/{id} 在没有打开的 WebSocket 会话时仍可保持同步,解决了在“力”模式和“位置”模式之间切换时出现的啸叫声,并引入了可在持续负载下自动调整的服務 tick 调度器。
亮点
- 适用于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利用专属时间窗口:在两个时间点之间,仅保留每台设备的最新值。HARP 中针对200毫秒空闲间隔的变通方案现已过时。 - 自适应时钟调度器。主循环会根据负载情况调整发送频率,从而防止因时钟频率过低导致命令队列无限增长。
- 在负载下以1对1的方式实时响应。 通过 WS 消息进行的流式响应每毫秒每会话最多一条;当达到上限而无法发送时,系统会重发前一条缓冲数据,因此模拟循环绝不会因
recv().
内部改进
设备
- Inverse3 ↔ VerseGrip 设备配对记录(按设备)。
GET|POST|DELETE /devices/{sel}/paired_with是按设备进行的一对一映射。POST消除双方的冲突;DELETE删除所选条目;选择器必须对应唯一的标识符。 - 在固件 v7.5+ 上以 20 Hz 频率查询运动状态。
GET /devices/{id}返回来自cursor_position,cursor_velocity,angular_position,angular_velocity每 50 毫秒一次;对活动会话透明。 - 流量控制用于
set_extension_dataVerseGrip 无线版。 在服务每个时钟周期都会清空的“最旧数据放弃/闲置重试”管道中——发送过多不再导致无线链路饱和,发送不足也不再留下过期数据。
会话
- 针对仅进行控制(力/位置)的批次,新增了一条WS接收快捷路径,该路径绕过了基于配置的处理流程;
configure/set_profile/ 自定义命令始终会经过竞争条件补丁的处理。
可观测性
- 检测日志的生成频率取决于端口,并考虑了重复频率。 黑名单中的每个端口都会被单独检查;重复出现的行
"...blacklisted: skipping"现已张贴(×N)针对两次触发之间被静音的时钟周期。 - 当检测到非 WVG 设备时,VerseGrip 无线检测功能不再向日志中写入大量数据。
更正
POST /device.config.presetavecdefaultsouarm_front现在会将设备的配置重置为出厂默认设置(此前此操作既无效果也不会引发错误)。basis该设置被保留,以确保应用程序中配置的数据库在挂载预设发生变化后仍能保留。force_render_full_state不再返回不包含块的快照config当相应的配置出现在同一条 WS 消息中时,配置路径会在快照生成之前同步清空。force_render_full_stateinter-sessions 返回目标的完整快照。 A和B现在都能看到完整的有效载荷(此前,A只能接收连续数据流)。- 跨会话命令,其中
target_session_id未知项不再阻塞请求-响应循环。 申请人将收到自己的快照以及一条事件通知session-command-dropped(cross-session-unknown-target). - Minverse 的多设备校准解锁问题已得到解决。 Minverse A的校准不再意外解锁Minverse B;inkwell成功标志的发布问题也已得到同样修正。
- HTTP 设备选择器 接受
#1234et1234作为设备标识符;选择器类(inverse3,verse_grip) 也可以与索引配合使用;404 消息保留了原始的选择器表达式。 - 《指标》
readyVerseGrip 的无线功能现在取决于设备初始配对时获取的信息 — 此前,在某些重新连接过程中,设备尚未完全建立连接时,它就可能切换。 - 基于密钥定时门参数的执行修改,现在将在下一次触发时生效(此前,该值在首次设置后即被锁定;只有新会话才会采用该修改)。
可能不兼容的更改
- 统一的 HTTP 404 状态码 dans
basis,preset,mount,transform,force_gate:"{type} device #{id} not found"→"no device matches selector '{expr}'". 会话中的 404 错误也会以同样的方式处理。 - Motif glob简体中文(大陆)
devices/inverse*/...→devices/*inverse/...力增益、力门增益、控制超时以及safeties/expose_in_snapshot. 3.5.0 版本中使用旧式字面量的配置文件将无法链接。 - 参数:序列化全局变量已移至
session/serialization/*(explicit_fields,force_complete_transforms,preview/*). 古老的小路serialization/*始终通过已弃用的别名进行解析;这些别名将在 4.0 版本中被移除。 - 行为:在持续高负载情况下,将“按消息发送的 WS 响应”用作 tick 同步握手机制的客户端,每毫秒每会话最多只能收到一次响应。配置变更时的完整快照不受此影响。
已弃用的功能
3.5.1 版本中没有相关内容。预览中的主开关作为 3.6 版本中从静默模式切换至警告模式的未来流程的弃用机制;第一批弃用功能预计将在 3.5.2 版本中实施。