3.5.3 (2026-08-06) {#353-2026-08-06}
内部改进 {#internal-improvements}
core/log:添加延迟格式haply_* 宏形式(cf7dbfc),已关闭 #271核心:添加了枢轴和组合/逆变换原语 (01080f6),已关闭 #283设备:0xE4 机身方向缓存及 trigger_mode 路由 (#265) (4864700)设备:服务端对 0xE4 IMU 传感器帧进行校准 (#286) (e6d877c),关闭 tapi-prototype-firmware#87设备:inkwell 校准时更新 body_orientation (#268) (89b190b),已关闭 #286 #286 #286设备:将实时(0x0C)与基准(0xE4)身体姿态分离(#286 #315)(638487a),关闭 #268 #266 #268http:将不支持的协议响应统一为 422(e0e7638),已关闭 #293 #293 #295http:将 transform 的 eco 和 sdf 输入迁移至支持欧拉的补丁 (#279, #280, #291) (bb29404)http:删除 scope=device 时初始化设备挂载 (#265) (f6bf26b),关闭 #286modules::navigation:在运动锁定中添加“clutch”模式(已应用门控,默认关闭)(4b69eed),已关闭 #308 #308 #283 #308modules::navigation:应用“prevent_default”按钮输入;clutch force_scale;支持长按导航功能(fb216aa),已关闭 #317 #318 #316 #317 #318modules::navigation:设置 clutch max_motion/force_scale 的上限 (a946088),已关闭 #316modules::navigation:镜像功能开关,两者默认均处于启用状态 (b6ee0c0),已关闭 #318modules::navigation:针对 inputs[] 的逐项设置补丁;bubble 发布 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会话:live_motion 新增:以帧为单位的运动锁定进度(应用门控)(d29013c),已关闭 #308 #304 #308会话:添加了采用主循环传递方式的管理器级会话观察器 (83e76ef),已关闭 #284sessions:添加了挂载的重新关联功能以及以枢轴点为中心的空间缩放功能 (294d6e8),已关闭 #265、297/#272 和 #304sessions:添加了应用命名空间的 config.body_orientation 事件作用域;针对旧版“values”输入发出警告 (3f70047),已关闭 #320sessions:预览 config/mount 源和触发器路由的添加 (#265) (5d11dbf),已关闭 #268sessions:在挂载区域中保存/加载设备挂载 (#265) (4cec178),已关闭 #292sessions:包含 pivot echo 的 set_workspace_transform_around 通用化 (0b242a2),已关闭 #309sessions:grip 按钮遮罩 + force_scale 叠加机制 (836ef2f),已关闭 #316会话:根据客户端配置文件在 Tracy 会话图中添加标签 (72a8f34),已关闭 #258sessions:挂载范围路由及存储虚拟对象 (#265) (9a4e7f4),关闭 #286 之后的相关问题 #293sessions:按会话进行的 force_scale 衰减(预览) (bff66ad)错误修复 {#bug-fixes}
ci:为恢复变更日志,锁定发布工具链(72c6773),已关闭 #313针对新釉料的编译修复 (e2c53d3)deps:将 rust crate nix 更新至 0.31 版 (b3b9a84)设备:在传输瓶颈处对 safety-config 协议应用网关(b8e8401),已关闭 #295设备:根据固件版本和校准标准,对 safety-config 启用写保护 (5ad5128),已关闭 #295设备:在唤醒稳定阶段保持 inverse3 线连接 (4afed45)设备:在唤醒稳定阶段保持 inverse3 线连接 (79c2b66)设备:在有线 Verse Grip 上抑制 [secure] 电池通知 (ea54a1a),已关闭 #314http:在会话范围内写入 safety 时检查校准 (89f9cd7),已关闭 #295 #293http:根据会话协议整合欧拉旋转值 (#288) (97cf203)inverse_ux:将 calibration_notifier 的处理限制为 Minverse (418913f)为防止崩溃而进行的 lifetime 清理 (e7b3785)modules::inverse-ux:当固件阻止时,始终触发 calibration-failed 事件 (3841d06)modules::inverse-ux:更换一台已配对的设备后重新配对(cf85707),已关闭 #278modules::sdf:根据会话规范集成 SDF 变换欧拉 (#291) (9741ac6)modules::sdf:根据客户端坐标系调整 SDF 图形的方向 (c29e4f2),已关闭 #276协议:消除导致服务崩溃或卡死的定时器生命周期竞争状态 (0cb019b),已关闭 #303协议:在打开端口时通过清空串行缓冲区来识别热插拔设备 (b8724d9)协议:为防范设备销毁竞争状态,对固件客户端回调进行保护 (3d795bb),已关闭 #303协议:将 0xE4 IMU 方向 API 重写为指定类型的枚举和正确的线格式 (8733ec0)关于启用/禁用 inverse3x BIA 集线器,返回首页 (f435454)服务:禁用自适应调度默认设置 (9415638)服务:以顺序有保障、有界且无竞争状态的方式改进服务终止机制 (ff888d7),已关闭 #303会话: 以实际可触达的核心为目标 *_居中_ 预设居中对齐 (ad6e726),已关闭 #321sessions:在更改挂载时自动移除 SIGGRAPH 工作区边界的推送 (2df1654)会话:对于在实时会话中仍在运行的设备,跳过“正在关闭”会话的强制关闭操作 (e1f9ff7),已关闭 #324会话:修复了 start() 会清除连接建立时协商的 serial_options 的问题 (#290) (27e27d8)sessions:在 set_transform 之后将工作区变换速度设为 0 (133c3ad),已关闭 #280WebSocket:根据发送会话的协议对命令进行解码 (#289) (1b24049),已关闭 #265性能改进 {#performance-improvements}
core/log:当禁用时,对haply_* 宏应用门控以跳过 fmt::format(672a87a),已关闭 #270modules::sdf:在生成时(而非Tikmada阶段)仅进行一次SDF烘焙 (15350c5),已关闭 #277