# orisys 0.7.0 变更说明 本版是单路传感器流(SensorStream)与力会话的整合版本。0.x 的不兼容变更按语义版本规则提升次版本号; App 需要 `orisys>=0.7.0`。完整字段与时序契约见 [stream-contract.zh.md](stream-contract.zh.md)、[force-stream-session.zh.md](force-stream-session.zh.md)。 ## 用户可见的变化 1. **单路流合同(T03)**:公开 `FrameStamp`、`MeasurementFrame` 等流身份与时间契约。 `source_dt_s` 定义为与同一 Sensor 上一条实际处理帧之间的源时间差(第一帧为 `None`,其余 `>= 0`)。 2. **新 `ForceSession` 与 `ForceStreamSession`**:`ForceStreamSession.process()` 消费 T05 `ImageMeasurement` 并逐帧产生 `ForceStreamOutput`;`ForceSession` 的新签名是 `process_frame(source_frame, stamp)`。late、duplicate、invalid 帧不再被丢弃,仍会产生诊断输出。 3. **固定设计率输出滤波(T07)**:会话、回放与重滤使用同一个 `FixedRateOutputFilter`; 设计频率固定,不随实测处理速度重新设计。 4. **单路流入口(T08)**:SDK 的 `orisys.sensor_stream.SensorStream` 提供单路入口,App 的 Studio 控制路径与回放都走同一个 SDK 会话。入口示例见 [force-stream-session.zh.md](force-stream-session.zh.md) 的「SensorStream 入口」一节。 5. **未滤波测量字段(T09c)**:`ForceStreamOutput` 新增 `measurement_raw`、`measurement_newton`, 分别是输出滤波前的同帧测量;`raw`、`newton` 仍为最终输出。测量与输出从此可区分, late、duplicate 的诊断输出也能如实保存。 ## 迁移要点 - 使用串流会话的调用方改用 `ForceStreamSession.process()` 与 T05 `ImageMeasurement`; 字段搬移与最小示例见 [force-stream-session.zh.md](force-stream-session.zh.md)。 - 直接使用 `ForceSession` 的调用方改用新签名 `process_frame(source_frame, stamp)`。 - 需要未滤波测量的消费者请读 `measurement_raw`、`measurement_newton`;显示与需要最终值的 消费者继续读 `raw`、`newton`。 - 录制与分析的旧结果若没有 `measurement_source`,其“未滤波”字段可能其实保存的是滤波后的值; 判读方式见 App 的 `record-channel-stream-2.1.md`。 - 固定设计率滤波只应用于新会话与重滤;旧 `ForceReadout`、`Sensor` 数值预期不变,由 T15b 整合验收确认。