加载中...

面向 Haply 设备的 Service Runtime 和 Runtime SDK,已打包为便捷安装程序。也称为“external”Service。
state.body_orientation 以 20 Hz 的频率跟踪设备,不再在应用开始驱动设备后立即冻结(Inverse3 / Minverse 固件 7.9 或更高版本,默认开启)。config/torque_scaling、config/gravity_compensation 和 config/handedness 执行 DELETE 时,返回的是设备上电时的值,而不再是编译在服务中的出厂常量——因此,以左手模式保存的左撇子设备不会再被重置为右手模式。session-updated 事件,且这些事件都没有指明设备;现在,每个持有该设备的会话仍会在其下一次快照时刷新。devices/*inverse/body_orientation_poll_interval_ms 设置(默认 50 ms,设为 0 时禁用,取值范围 0–5000),用于调整实时朝向读取的间隔;50 ms 的设备运动计时器是实际生效的下限。devices/*inverse/query_orientation_on_idle,系统会明确提示该选项无效,而不是保持静默。config/mount 或 config/body_orientation 写入仍会像以前一样在默认事件通道上发出通知——撤销的只是设备级别的通知;handedness、torque_scaling 和 gravity_compensation 仍保留各自按会话发出的通知。devices/*inverse/inkwell/dock_heading_deg。2026-09-22 在一台 Minverse 上使用手柄固件 1.3.1 的触控笔测得:旧的 135 度使停放的笔少转了 45 度,因此偏航估计器只能将其逐步拉回(观测到 +42 至 +50 度的偏移);现在残差已降至约 5 度以内。此变更不受阶段开关限制——停放校准路径始终会运行——因此,对所有使用手柄固件 1.3.1 或更高版本的用户,停放笔的发布朝向都会变化 45 度。低于该版本的固件会忽略此值并直接完整跳转到目标姿态,因此这些用户不会看到任何变化。state.body_orientation 此前仅在设备空闲时刷新,因此一旦应用开始流式输出力反馈,它就会立即冻结,所有使用方读取到的都是过时的握手快照。现在它会在现有的运动计时器上轮询,并可在会话中实时更新。config/torque_scaling、config/gravity_compensation 和 config/handedness 执行 DELETE 时,会用编译进去的出厂常量覆盖设备自身存储的配置,导致“恢复默认值”与设备的真实上电状态不一致——config/handedness 总是会被重置为 right,无论设备保存的是什么设置。现在三者都会恢复已存储的值;只有从未从设备读取过的字段,才会退回使用旧的常量。session_id、profile 和 scope,不含设备标识符,因此订阅方既无法判断某份副本归属于哪台设备,也无法对这组事件去重。在设备寻址的替代方案落地之前,设备级通知已被暂缓发布;按会话的刷新机制保持不变。DELETE config/torque_scaling、config/gravity_compensation 和 config/handedness 改变了重置的含义:返回的结果和写入的值现在是设备存储的配置,而不再是服务端固定的常量。响应结构保持不变,只有在设备存储的配置与出厂常量不同时,数值才会有所差异——但若集成代码断言了字面常量(false / {enabled: true, scaling_factor: 0.0} / right),则会看到不同的值。state.body_orientation 保持原有的结构和层级不变,但其数值语义发生了变化:对流式客户端而言,原本实际上静态的字段现在会以 20 Hz 的频率变化。将其视为挂载后即恒定的使用方,将在无需选择开启的情况下看到新的行为。body_orientation 范围也遵循同样的通道,不再泄露回默认通道。迁移说明: 请不要再将该事件作为刷新触发条件,而应从会话快照中读取数值——快照仍会在每个持有该设备的会话中刷新,且无需任何选择开启。对应的会话级事件,以及 handedness / torque_scaling / gravity_compensation 的通知,均不受影响。devices/*inverse/query_orientation_on_idle 就会变得多余,但在 3.5.7 中它被有意不标记为 deprecated——该弃用计划在 3.6 中执行。此版本的所有可用下载: