3.5.3 (2026-08-06)
内部改进
core/log:为延迟格式化的宏形式haply_* 添加支持(cf7dbfc),已关闭 #271核心:添加了枢轴变换以及变换组合/反转原语(01080f6),已关闭 #283设备:缓存机身方向 0xE4 以及 trigger_mode 的路由 (#265) (4864700)设备:IMU 0xE4 传感器基准点的服务端补偿(#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:将“转型回声”和 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[] 中的每个条目修改参数;气泡会发出 status.engaged 信号 (ba2058f),已关闭 #318协议:容量文件分割、衰减门、基线回升(30d7d5d),已关闭 #293协议:容量表 + 单一不支持发送器(289382e),已关闭 #293 #295协议:通过表 (8a05d20) 对 home_return + pen_attached 进行处理,关闭 #293协议:引入 fw_version 并迁移版本检查(38c2cae),已关闭 #293序列化:在 v3.1 会话迭代中应用拖拽按钮掩码 (7b93e35),已关闭 #316序列化:在 euler.output 上生成 config.mount 旋转的欧拉输出 (#268) (f6b54a2)序列化:在 euler.output(96c6cc9)下对变换的旋转进行欧拉序列化,已关闭 #283序列化:围绕工作空间枢轴点对 set_transform 进行缩放的说明 (#309) (c1d08fc),已关闭 #280序列化:将 trigger_mode 转换为 config/body_orientation 的扁平化表示 (#265) (8781b8a),已关闭 #268序列化:按会话推广 serial_options 中的转换设置 (#280) (03b2fd6)序列化:将 config/mount 拆分为 scope 和 body_orientation (#265) (5618839),关闭 #280序列化:通过输出传递会话选项,并对嵌套重构进行封装(#279、#280)(59984ce),已关闭 #265序列化:统一 WS 和 HTTP 的 configure 解码逻辑 (#280) (6076917)sessions:添加了一个带解除锁定时预计算功能的通用移动锁定机制(c8d2a93),已关闭 #304sessions:添加 live_motion,推进每次 tick 时的运动锁定(有条件)(d29013c),已关闭 #308 #304 #308会话:在管理器级别添加会话观察者,并在主循环中进行分发(83e76ef),已关闭 #284sessions:新增了围绕枢轴点的蒙版重新分配和工作区缩放功能(294d6e8),已关闭 #265、297、#272 和 #304sessions:将 config.body_orientation 事件范围添加到命名空间;针对遗留的 'values' 输入项发出警告 (3f70047),已关闭 #320sessions:添加了 config/mount 预览源和触发器路由 (#265) (5d11dbf),已关闭 #268sessions:在安装空间中存储/加载设备安装信息 (#265) (4cec178),已关闭 #292会话:将 set_workspace_transform_around 泛化,并返回枢轴点(0b242a2),已关闭 #309sessions:调整手柄的遮罩 + force_scale 叠加机制 (836ef2f),已关闭 #316会话:根据客户资料对Tracy的会话图表进行标记(72a8f34),已关闭 #258sessions:编辑范围路由 + 存储虚拟对象 (#265) (9a4e7f4),已关闭 #286 和 #293 之后的问题会话:按会话调整 force_scale 的强度(概述)(bff66ad)错误修复
ci:固定发布工具链以恢复更改日志(72c6773),已关闭 #313针对新版 Glaze 的编译修正(e2c53d3)deps:将 rust nix 库更新至 0.31 版(b3b9a84)设备:在发送瓶颈处对安全配置协议进行条件处理 (b8e8401),已关闭 #295设备:根据固件版本和校准情况保护安全配置的写入(5ad5128),已关闭 #295设备:在唤醒稳定窗口期间保持逆向3的有线连接(4afed45)设备:在唤醒稳定化窗口期间保持 inverse3 的有线连接 (79c2b66)设备:在有线Verse手柄(ea54a1a)上禁用电池通知 [secure],已关闭 #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:将欧拉变换(sdf)集成到会话规范中 (#291) (9741ac6)modules::sdf:SDF 形状在客户端坐标系中的方向 (c29e4f2),已关闭 #276协议:消除导致服务崩溃或卡死的计时器生命周期竞争条件(0cb019b),已关闭 #303协议:在端口打开时清空系列缓冲区,以识别热插拔的设备 (b8724d9)协议:在销毁设备时保护固件的客户端回调免受竞争条件的影响(3d795bb),已关闭 #303协议:重写 IMU 0xE4 定位 API,采用类型化枚举和正确的传输格式 (8733ec0)返回主界面以通过 BIA 集线器(F435454)启用或禁用 3x 反向功能服务:自适应分配默认处于禁用状态 (9415638)服务:经下令终止、范围明确且无竞争条件的终止(ff888d7),关闭 #303会话: 预设居中 *_居中_ 关于实际可达的中心(ad6e726),已关闭 #321sessions:在切换编辑器时,不再自动推送 SIGGRAPH 工作区大小的限制 (2df1654)sessions:忽略在关闭时对仍由活动会话控制的设备强制清空会话的行为 (e1f9ff7),已关闭 #324会话:防止 start() 清除连接时协商的 serial_options (#290) (27e27d8)会话:在调用 set_transform 后重置工作空间的变换速度 (133c3ad),已关闭 #280WebSocket:根据发送方会话约定解码命令 (#289) (1b24049),已关闭 #265性能改进
core/log:对宏haply_* 进行处理,使其在被禁用时忽略 fmt::format(672a87a),已关闭 #270modules::sdf:在创建时仅进行一次 SDF 预计算,而非在每个时间步长时计算(15350c5),已关闭 #277