0.1.0a36

  • 在插件契约编译阶段开放已有的公共 checkpoint 服务,使 Mission 等已安装插件可以 按条件申请该服务。
  • 纯数值观测改为每个仿真 Tick 写入一个全局有序快照,不再按通道产生队列项;相机 RGB 与标定数据继续保持独立的逐通道记录。
  • Run 配置、观测查询、相机录制及 FSR Schema 均保持兼容。

0.1.0a35

  • 将 Isaac Lab 后端别名对齐到 UniRoboSim Isaac Lab 0.10.16;其保持位姿的 FixedJoint 实现不再混用 USD 刚体 Prim 坐标系与 PhysX 质心坐标系。
  • 保持公开 scene.command.attachment@1 API 与配置不变。

0.1.0a34

  • 新增面向插件的 checkpoint 服务,提供不透明内存句柄、原子 .fsc 持久化、 反复恢复以及 fastsim run --checkpoint
  • 启动检查点在第一次 WorldState 与 Observation 提交前完成恢复;运行时恢复保留 当前时钟,并使规划缓存失效。
  • 在全局有序生命周期流中记录检查点分支,使 Replay 默认选择并重新计时最终连续 成功分支,同时在源 FSR 中保留失败尝试。
  • 内置后端别名对齐 UniRoboSim Core 0.10.5、Isaac Lab 0.10.15、MuJoCo 0.9.4 与 PyBullet 0.9.4。

0.1.0a33

  • 生命周期与插件事件 Envelope 新增由生产端一次计算的便携字节大小,但不改变写入 FSR 的 Payload Schema。
  • 无损 Record 队列按事件的实际有界大小记账,不再把每条事件都按 1 MiB 服务上限 计费,避免大型几何启动历史触发虚假过载。
  • 保持订阅单项上限、全局记录顺序和真实 critical 队列满载时的失败语义不变。

0.1.0a32

  • 新增严格可选的用户级部署设置;没有设置文件时不创建任何状态,并保持 0.1.0a31 的全部默认行为。
  • 新增完整的 fastsim settings 生命周期命令,并把输出、缓存、Registry、网络、CLI、 计算资源、Server 与 Viewer 偏好接到实际操作者入口。
  • 新增有界的 fastsim outputs 查找、统计、FSR 检查、校验、Viewer 启动和确认式清理, 同时新增 fastsim server status
  • 用户偏好不进入 Run、不可变 ExecutionPlan 或 Lock;远程 Registry 凭据只保存环境变量 名称,并按 Origin 限定发送范围。

0.1.0a31

  • 本地 fastsim run 部署现在会为已启用的输出型插件创建并注入可信 RunOutputPolicy
  • CLI 输出默认写入 ./outputs,并新增 --output-root 指定本地目标目录。
  • 文件系统授权仍由部署层持有,不进入 Run 配置或不可变 ExecutionPlan。

0.1.0a30

  • 静态规划快照改为依据规划器实际使用的构型进行复核,不再用 PhysX 约束与驱动器的 原始修正速度判定世界是否过期。
  • 允许有界的亚毫米、亚毫弧度沉降,同时继续拒绝会影响碰撞的位姿、关节、拓扑、 attach/detach 和 reset 变化。
  • 公共配置、规划、插件与控制 API 保持不变。

0.1.0a29

  • 将 Isaac Lab 后端 Alias 对齐到 UniRoboSim Isaac Lab 0.10.14。
  • Scenario/WorldSpec 位姿继续使用 entity Prim 坐标系,由 Adapter 将初始状态换算到 Isaac Lab 的 physical-root 坐标系。
  • 公共配置、Application、插件与服务 API 保持不变。

0.1.0a28

  • 将 Isaac Lab 后端 Alias 对齐到 UniRoboSim Isaac Lab 0.10.13。
  • 对带 scale 的 USD 实体继续遵守资产根 EntityState.pose 契约;Adapter 会在提取 归一化旋转前移除 scale 与 shear。
  • FastSim 公共配置和插件服务 API 保持不变。

0.1.0a27

  • EntityState.pose 定义为导入资产或模型的根;对 USD 资产而言,它就是生成的 entity Prim,绝不从 articulation root link 推断。
  • 刚体和铰接体的场景 set pose 都遵循同一实体契约,同时继续单独提供显式物理 link 状态。
  • 固定依赖 UniRoboSim Core 0.10.4,禁止把新旧状态与控制语义混装在同一运行环境中。

0.1.0a26

  • 公共可视化 API 与运行时链路新增不可变网格资源和批量网格实例。
  • 每个 Run generation 按摘要缓存网格拓扑;重复更新只发送轻量实例变换与外观。
  • 现有插件只发布普通图元时,调用形式保持不变。

0.1.0a25

  • 允许 fastsim-composite-scene/1 environment 配置正数 XYZ scale,并经不可变 ExecutionPlan 原样传递给 UniRoboSim Core 0.10.2。
  • 通过 Provider 所有的 entity.scale.composite_scene@1 能力进行门禁,禁止静默忽略; Isaac Lab 一致性由 Adapter 0.10.10 提供。
  • 保持现有刚体、静态场景和独立铰接体 scale 行为不变。

0.1.0a24

  • 将 Isaac Lab Alias 对齐到 UniRoboSim Isaac Lab 0.10.9。规划几何现在会保留实体和 祖先 Prim 的有效缩放,使缩放后的 USD 刚体在插件、FSR Geometry 与仿真器中具有 相同碰撞尺寸。

0.1.0a23

  • Plugin 服务和录制源声明新增有界、不嵌套的 when.any 条件。同一服务可在两个 显式配置开关任意一个开启时激活,无需变成无条件运行时源。
  • 新声明保留严格 Lock 校验和确定性条件排序。Record 0.3.9 使用该能力,保证 FSR 几何与 render-state 录制均关闭时不会激活额外录制源。

0.1.0a22

  • 将 Isaac Lab Alias 对齐到 UniRoboSim Isaac Lab 0.10.8。可渲染的 headless Run 支持把原生调试图元写入离屏场景相机画面;纯物理档位会在触碰 Isaac debug-draw 插件前明确报告不支持边界。
  • 为官方 Visualizer 验收程序增加显式启动档位选择,使同一套场景相机证据可同时验证 可见模式和无窗口模式。

0.1.0a21

  • 新增按需启用的 fastsim.fluid.audit@1 服务与紧凑的不可变发射 Batch 契约。Core 仅在后端接受非空原生 Batch 后发布,复用 Record 的有序序号分配器,并在不复制活动 粒子状态的前提下提供精确的终态流体序号 Fence。
  • 新增仅启动期可用的 fastsim.fluid.replay@1 服务,用于加载经过完整校验的不可变 Schedule。Replay 会关闭配置中的实时发射器,重建原始 Batch 的索引、位置与速度, 并在记录 Tick 的 Physics 之前注入;空 Schedule 合法且幂等。
  • fluid.audit 仅授予 data_consumer 插件,fluid.replay 仅授予 control_producer 插件。Record 0.3.8 与 Replay 0.2.15 使用这两个新增 Core 服务; 回放仍明确限制为单 Generation。

0.1.0a20

  • 当所选后端锁定的能力声明位姿、拖拽或挂接命令时,物化公开的 scene.command 插件服务。没有匹配能力时裁掉 Optional 请求;Required 请求则以 PLUGIN_REQUIRED_SERVICE_UNAVAILABLE 结束编译。
  • 将选中的服务通过不可变 Plan 传入可撤销的 ServiceBroker Grant,使插件无需接触 仿真器句柄即可发出后端无关的位姿、拖拽、挂接与解除挂接命令。
  • Grant 之后仍保留后端的逐命令能力校验:每种命令都需要对应的公开能力,因此只声明 Attachment 能力的后端不会隐式获得 Pose 或 Drag 能力。

0.1.0a19

  • 新增 scenario.scene.environment.static,默认值为 true。Composite USD Environment 继续保留地面、墙体、桌面和家具 authored collision,未声明 body 转成真正的静态 collider;显式 embedded entity 保持可交互,static: false 保留 authored 动态语义。
  • 只注册 Lock 中实际需求的 articulation observation,并缓存不可变 WorldState schema、 provenance 与已验证内部状态 envelope。真实 Scene005 + G2 Mission/Record 工作负载在 无相机、单路 720p、三路 720p 下分别提升 12.28%、15.08%、14.40%,FSR 全部完整且 gap 为 0。
  • 调用方取消运动学请求后,即使协作式 Provider 在 Worker 退出前返回规范化的取消结果, 也不会再把该结果写入完成缓存。
  • 新增可选的 fastsim.visualization@1 服务和 Application 直接调用接口,支持在 仿真器原生视图中绘制点、线、坐标系、路径、标签、包围盒,并发布指标与事件; 图层显隐、有界生命周期、更新、清除、Reset 和 Generation 隔离均属于公共契约。
  • 通过 UniRoboSim 桥接可移植可视化 API,不向插件暴露仿真器句柄。Mission、模型、 遥操作、MCP 与用户插件可以在 Isaac Lab、MuJoCo 和 PyBullet 上发布相同图元。
  • 新增公共可视化快照以及 Server/MCP 路由,浏览器工作台和 Agent 可检查、编辑、 截图与清除同一份实时调试状态。
  • 保持按需付费:未选择可视化插件或未请求服务时,不安装查询、订阅、回调、轮询或 几何采集;规划几何依旧需要单独显式开启。
  • 增加可见模式 Isaac Lab 验收案例,覆盖原生叠加层、规划几何、图层控制、指标、 事件、多相机、生命周期操作、交互调试、MCP 工作流与可视化预算。

0.1.0a18

  • 将程序化表面网格柔性体 Lower 到 UniRoboSim,并通过 Runtime 与 Application API 提供不可变、按需的节点位置/速度快照;柔性节点不会进入刚体规划几何。
  • 保持按需付费:调用方未请求时不会复制柔性体状态;不支持的体积形式和后端混合软物质 限制会明确 Fail Closed。
  • 新增 ChunkTicket.wait_for_applied_frames(...) 及其异步版本。达到指定帧数或进入任意 终态都会唤醒等待者,不会改变执行状态;只有真实等待者存在时才发送通知,当前 Model Host 因而不再需要以 1 ms 周期轮询 receding-horizon 进度。
  • 新增可选、只求解不执行的 fastsim.kinematics.solve@1 Application 服务与初学者 simulation.kinematics.solve(...) API。它会原子取得当前有序关节状态,在 Owner Loop 外运行显式选择的 Provider,并且绝不发送控制命令。
  • 通过精确的 Entry Point 与 Distribution 来源校验,复用独立发行的 fastsim-kinematics-solver-spi 和 Portable URDF Provider。后端仿真 USD 可以同时 携带一份 role: kinematics URDF;公开请求不能传入主机路径。
  • 在 Provider 工作前后检查 Generation,Reset 会取消旧 Generation 请求;Active/ Orphan 与幂等历史均有上限,并传播超时与取消。URDF 使用前会校验锁定大小、文件身份、 SHA-256 与 UTF-8 内容。
  • 保持可选且按需付费:基础安装与普通 Run 不导入 Solver 包、不发现 Provider、不创建 Executor,也不注册 Tick Hook。

0.1.0a17

  • run.output 的默认完整性模式改为结构校验。在不计算全 Payload SHA-256 的 同时,继续保留关闭后的回读校验、已校验字节数、FSR 结构校验、固定文件身份、 必需的同步操作、原子发布与失败清理。
  • 严格内容认证改为显式的 RunOutputPolicy(..., integrity="sha256") 选项。该模式继续执行写入端、校验端与 发布前的摘要比对,并能发现校验后发生的同尺寸内容修改。
  • Validation 与 Commit Receipt 升级到 Schema v2,并明确记录完整性模式。结构模式 的摘要字段为 Nonesha256 模式为真实的小写 SHA-256,不使用空字符串充当缺省值。

0.1.0a16

  • FastSimApplication.scene 新增后端无关的刚体位姿设置与显式运动学拖动命令。 所有场景变更均通过 Runtime Authority 串行执行,直接开发应用时不需要接触仿真器句柄。
  • 命令按 Run Generation 隔离;重试时保持确定的 Command/Drag 身份,拒绝冲突的 Command ID 复用,并在 Authority 线性化点使同 Tick Planning 读取缓存失效。
  • 保持按需付费:未使用时不注册 Tick Participant,也不轮询。实体路径索引首次调用时 才建立;普通原生幂等 ID 不做 Hash,仅超长可移植 ID 执行有界确定性压缩。
  • 现有 Run 配置和控制 API 保持兼容。未声明对应 Scene Command Capability 的后端会 返回明确拒绝,不会静默降级。

0.1.0a15

  • 新增公开的规划几何批量捕获与场景增量更新契约,同时加入 UniRoboSim 批量桥接和 有界 canonical catalog 缓存。在包含 4,247 个资源的验收场景中,重复读取从 442.752 ms 降至 0.0993 ms,并保持返回结果逐字节一致。
  • 将资源标识、SHA-256 与 span 校验移到冷接纳边界;热读取直接复用已经验证的 不可变表示,不再重复调用 authority。
  • 内置 Isaac Lab Provider 精确固定到 0.10.6。Adapter 会先在 Kit 启动阶段 启用 Isaac Sim 6 的 RTX Real-Time 实现,再选择 RaytracedLighting,避免 Renderer 选择因模式未启用而失败关闭。
  • 现有规划与配置契约保持兼容;批量和场景增量 API 为新增能力。

0.1.0a14

  • 内置 Isaac Lab Provider 精确固定到 0.10.5。该 Adapter 现在为普通相机场景选择 RaytracedLighting,为流体 Isosurface 渲染保留显式 RealTimePathTracing,并在 Isaac Lab Preset 加载后校验实际选中的 Renderer。
  • Provider 标识、Entry Point、UniRoboSim v0alpha6 契约、FastSim 公开 API 与 配置契约均保持不变;发现机制继续拒绝其他所有 Distribution 版本。

0.1.0a13

  • 内置 Isaac Lab Provider 精确固定到 0.10.4。Provider 标识、Entry Point 和 UniRoboSim v0alpha6 契约保持不变;发现机制继续拒绝其他所有 Distribution 版本。
  • FastSim 公开 API 与配置契约均未变更。

0.1.0a12

  • 为 Isaac adapter 的启动阶段协议,将内置 Isaac Lab Provider 精确固定到 0.10.3。 Provider 标识、Entry Point 和 UniRoboSim v0alpha6 契约保持不变;发现机制仍会对 其他所有 Distribution 版本失败关闭。
  • FastSim 公开 API 未变。已有 Run Manifest 的来源信息继续精确保留,包括使用此前 Provider 版本生成的录制。
  • 官方 Record 0.3.3 与托管 Replay 0.2.10 已对齐 a12 的观测、终止切面与输出回读契约。

0.1.0a11

  • 内置 Isaac Lab Provider 精确固定到 0.10.2。Adapter 将原生 Kit 启动等待限制为 30 秒,并且只在仍存活的隔离 Worker 没有返回启动响应时清理并重试一次;确定性的 启动错误仍立即失败。
  • Provider 标识与 UniRoboSim v0alpha6 契约保持不变。旧的 0.10.1 Distribution 会被精确发布矩阵拒绝,不会被静默替换。
  • 将不可变的 WorldState/Observation 快照对与 Runtime 已提交 Tick 原子发布。并发调用 FastSimApplication.state() 时,不再可能把下一 Tick 的 WorldState 与上一 Tick 的稀疏 Observation 拼在一起。
  • Reset、终止清理或一次不完整采集失败期间保留最后一对完整提交快照。状态读取只获取一次 有界锁,不依赖有限快照历史,也不使用重试循环。

0.1.0a10

  • 将实时通道分发与有序录制拆分:channel_sequence 对所有到期实时项排序,可选的 capture_sequence 只对实际录制项排序,并作为终止观测 Fence。通道 Envelope 与 Barrier 契约升级为 v2
  • 未被录制但已 demand 的通道仍会发布给实时订阅者,同时不会分配全局 Record 序号, 也不会进入有序录制历史。
  • 增加混合消费者回归,验证启用 Record 不会改变其他消费者收到的值,也不会在录制 序号中产生空洞。
  • 唯一的有序捕获所有者必须在 Manifest 中声明 recording_sources;普通数据消费者不再 分配排序器或录制历史。Record 可与 Evaluation 并存,通道过滤在进入各自订阅队列前完成。

0.1.0a9

  • 新增按需启用、逐通道独立时间戳与序号的观测流,同时保留原有快照查询和订阅 API。
  • 支持锁定的 runtime.sensor_hz:可选择整除或累积节拍;Reset 后 Tick 0 必采,快照只含 当前到期通道,Latest 查询使用独立缓存。
  • 仅按锁定的观测 Demand 注册相机 RGB 与标定 Provider。RGB 为不可变 CPU uint8 [H,W,3];同一相机同一 Tick 最多执行一次原生 RGB 读取。
  • 通过通用观测来源信息和 Run Manifest 发布针孔内参、OpenCV 光学坐标系外参与统一 Calibration Digest。
  • 快照和逐通道有序录制互斥;终止观测 Fence 指向当前启用的录制通道,避免出现无人 消费的全局录制序号空洞。

0.1.0a8

  • 增加由组件维护、按后端区分的 articulation_drive:MuJoCo 支持位置刚度与阻尼, PyBullet 支持位置增益和速度增益。
  • 在编译与 Lock 边界校验并规范化驱动参数,只把有类型的驱动配置投影给 UniRoboSim; 任意后端私有参数仍会被拒绝。
  • 后端原生标定完整保留在锁定 Plan 与来源信息中;仅在失败关闭校验通过后,才不参与 可移植 Replay 兼容性摘要。
  • 内置 MuJoCo、PyBullet Provider 固定为 0.9.3;Isaac Lab 继续固定为 0.10.1

0.1.0a7

  • 将终止阶段的 Control 接收门与 Runtime 暂停屏障合并到同一个线性化点,避免 Completion Boundary 记录在前一个已提交 Tick、终态却又多提交一个物理 Tick。
  • 继续严格要求 completion receipt == Runtime committed boundary;Control、后端 Adapter 与公开插件 API 契约均未改变。

0.1.0a6

  • 内置 MuJoCo、PyBullet Provider 的精确版本固定由 0.9.1 升级为 0.9.2; Distribution 名称、Entry Point、Provider 标识及 UniRoboSim Contract 版本不变。
  • Isaac Lab Provider 继续固定为 0.10.1,UniRoboSim Core 继续固定为 0.10.0
  • Adapter 发现仍保持失败关闭:旧的 MuJoCo、PyBullet 0.9.1 Distribution 不会被新别名 静默加载,而是明确拒绝。

0.1.0a5

  • 当观测 Provider 的实现名称或版本不同、逻辑观测契约相同时, simulation_contract_digest 可在不同仿真后端之间保持一致。
  • 公开 Run Manifest 继续保留 providerprovider_version,确保录制数据能够追溯 到具体实现。
  • 观测标识、Schema、Shape、Dtype、单位、坐标系、必需性、失败策略和最大允许陈旧 Tick 等逻辑字段仍参与兼容性摘要。
  • 确认后端别名、组件选中的后端 Variant 与后端资源 URI 仍不进入可移植仿真契约。

0.1.0a4

  • 配置锁能够保留插件 Preset 的来源信息。
  • 增加供独立 Record 与 Replay 插件使用的应用录制和生命周期服务契约。