3.5.3 (2026-08-06)
内部改进
core/log:添加延迟格式haply_* 宏形状 (cf7dbfc),关闭 #271核心:添加枢轴和组合/逆变换原语 (01080f6),已关闭 #283设备:缓存 0xE4 机身朝向和 route trigger_mode (#265) (4864700)设备:补偿 0xE4 IMU 传感器帧(服务端)(#286)(e6d877c),关闭 tapi-prototype-firmware#87设备:在墨水杯校准时刷新 body_orientation (#268) (89b190b),已关闭 #286 #286 #286设备:实时数据(0x0C)与参考数据(0xE4)中的身体姿态差异(#286 #315)(638487a),已关闭 #268 #266 #268http:将不支持的协议响应统一设置为 422(e0e7638),已关闭 #293 #293 #295http:将 echoes 和 sdf 输入迁移并转换为支持欧拉算法的补丁(#279、#280、#291)(bb29404)http:在 Delete scope=device 时重置设备挂载 (#265) (f6bf26b),关闭 #286modules::navigation:在运动锁定功能中添加离合器模式(分段式,默认关闭)(4b69eed),已关闭 #308 #308 #283 #308modules::navigation:带 prevent_default 的按钮输入;clutch force_scale;气泡长按导航(fb216aa),关闭 #317 #318 #316 #317 #318modules::navigation:离合器最大位移/力值上限(a946088),已关闭 #316modules::navigation:镜像功能关闭开关,默认均开启(b6ee0c0),已关闭 #318modules::navigation:在 inputs[] 上添加针对每个输入的设置补丁;bubble 发出 status.engaged 事件 (ba2058f),关闭 #318协议:能力文件拆分、阻尼门、基础起重机(30d7d5d),已关闭 #293协议:能力表 + 单个不受支持的发射器 (289382e),已关闭 #293 #295协议:通过表 (8a05d20) 设置 gate home_return + pen_attached,关闭 #293协议:引入 fw_version 并迁移版本检查(38c2cae),已关闭 #293序列化:在 v3.1 会话通过中应用握把按钮遮罩(7b93e35),已关闭 #316序列化:在 config.mount 旋转时向 euler.output 输出 euler 数据 (#268) (f6b54a2)序列化:在 euler.output (96c6cc9) 下对变换旋转发出欧拉值,已关闭 #283序列化:在 set_transform 中公开工作区“以枢轴点为中心缩放”功能 (#309) (c1d08fc),已关闭 #280序列化:将 config/body_orientation 的 trigger_mode 扁平化 (#265) (8781b8a),已关闭 #268序列化:将转换控件转换为按会话设置的 serial_options (#280) (03b2fd6)序列化:将 config/mount 拆分为 scope 和 body_orientation (#265) (5618839),关闭 #280序列化:通过输出传递线程会话选项,并控制嵌套重塑操作(#279、#280)(59984ce),已关闭 #265序列化:统一 WS 和 HTTP 的解码配置 (#280) (6076917)sessions:添加带解除烘焙功能的通用运动锁定机制(c8d2a93),已关闭 #304sessions:添加按帧 live_motion 运动锁定推进(门控)(d29013c),已关闭 #308 #304 #308会话:添加在主循环中分发的管理员级会话观察者 (83e76ef),已关闭 #284sessions:添加挂载、重新关联父对象以及工作区“以枢轴点为中心缩放”功能 (294d6e8),已关闭 #265、297/#272 和 #304sessions:添加带命名空间的 config.body_orientation 事件作用域;对旧版“values”输入发出警告 (3f70047),已关闭 #320会话:添加预览配置/挂载源 + 触发路由 (#265) (5d11dbf),已关闭 #268sessions:在挂载空间中挂载设备并存储/加载数据(#265)(4cec178),关闭 #292sessions:将 set_workspace_transform_around 泛化,并添加枢轴回显 (0b242a2),已关闭 #309sessions:抓握按钮遮罩 + force_scale 叠加机制 (836ef2f),已关闭 #316sessions:在 Tracy 会话图中标注客户资料 (72a8f34),已关闭 #258会话:挂载范围路由 + 存储虚拟体 (#265) (9a4e7f4),关闭 #286 之后的相关问题 #293会话:按会话启用 force_scale 压限(预览版)(bff66ad)错误修复
ci:发布用于恢复更改日志的工具链(72c6773),已关闭 #313使用新glaze的编译修复 (e2c53d3)deps:将 rust crate nix 更新至 0.31(b3b9a84)设备:在发送瓶颈处对安全配置协议进行门控(b8e8401),关闭 #295设备:guard safety-config 记录固件版本和校准信息(5ad5128),关闭 #295设备:在唤醒稳定窗口期间保持 inverse3 引脚处于活动状态 (4afed45)设备:在唤醒稳定窗口期间保持 inverse3 引脚处于活动状态 (79c2b66)设备:在有线Verse握把上屏蔽[安全]电池通知(ea54a1a),已关闭#314http:检查会话作用域内安全写入操作的校准(89f9cd7),已关闭 #295 #293http:根据会话约定折叠欧拉旋转 (#288) (97cf203)inverse_ux:将 calibration_notifier 的处理限制在 Minverse 范围内 (418913f)为防止崩溃而进行的生命周期清理 (e7b3785)modules::inverse-ux:当固件阻塞时始终触发“calibration-failed”事件 (3841d06)modules::inverse-ux:在交换一对已配对设备后重新配对(cf85707),已关闭 #278modules::sdf:根据会话约定对欧拉变换进行折叠 (#291) (9741ac6)modules::sdf:在客户端坐标系中对SDF形状进行定向(c29e4f2),已关闭 #276协议:消除会导致服务崩溃或死机的定时器生命周期竞争(0cb019b),已关闭 #303协议:在端口打开时清空串行缓冲区,以识别热插拔设备 (b8724d9)协议:保护固件客户端回调免受设备销毁竞争条件的影响(3d795bb),已关闭 #303协议:使用带类型的枚举和正确的线格式重写 0xE4 IMU 姿态 API (8733ec0)返回主页,查看 inverse3x 启用/禁用 BIA 集线器 (f435454)服务:自适应调度默认处于禁用状态 (9415638)服务:确保服务拆除操作具有有序性、受限性且无竞争条件(ff888d7),关闭 #303会话: center *_居中_ 在实际可达中心(ad6e726)上的预设,关闭 #321会话:在挂载状态发生变化时,取消自动推送 SIGGRAPH 工作区边界 (2df1654)会话:跳过对仍由活动会话驱动的设备执行“关闭会话强制清空”操作(e1f9ff7),已关闭 #324会话:停止在调用 start() 时清除连接时协商的 serial_options (#290) (27e27d8)sessions:set_transform 之后工作区变换速度为零 (133c3ad),已关闭 #280WebSocket:根据发送方会话的约定对命令进行解码(#289)(1b24049),已关闭 #265性能改进
core/log:禁用时跳过 gatehaply_* 宏,从而跳过 fmt::format(672a87a),已关闭 #270modules::sdf:在创建时一次性生成 SDF,而非每帧生成一次(15350c5),已关闭 #277