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@1API 与配置不变。
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/1environment 配置正数 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。可渲染的
headlessRun 支持把原生调试图元写入离屏场景相机画面;纯物理档位会在触碰 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 传入可撤销的
ServiceBrokerGrant,使插件无需接触 仿真器句柄即可发出后端无关的位姿、拖拽、挂接与解除挂接命令。 - 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@1Application 服务与初学者simulation.kinematics.solve(...)API。它会原子取得当前有序关节状态,在 Owner Loop 外运行显式选择的 Provider,并且绝不发送控制命令。 - 通过精确的 Entry Point 与 Distribution 来源校验,复用独立发行的
fastsim-kinematics-solver-spi和 Portable URDF Provider。后端仿真 USD 可以同时 携带一份role: kinematicsURDF;公开请求不能传入主机路径。 - 在 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,并明确记录完整性模式。结构模式
的摘要字段为
None;sha256模式为真实的小写 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 和 UniRoboSimv0alpha6契约保持不变;发现机制继续拒绝其他所有 Distribution 版本。 - FastSim 公开 API 与配置契约均未变更。
0.1.0a12
- 为 Isaac adapter 的启动阶段协议,将内置 Isaac Lab Provider 精确固定到
0.10.3。 Provider 标识、Entry Point 和 UniRoboSimv0alpha6契约保持不变;发现机制仍会对 其他所有 Distribution 版本失败关闭。 - FastSim 公开 API 未变。已有 Run Manifest 的来源信息继续精确保留,包括使用此前 Provider 版本生成的录制。
- 官方 Record
0.3.3与托管 Replay0.2.10已对齐 a12 的观测、终止切面与输出回读契约。
0.1.0a11
- 内置 Isaac Lab Provider 精确固定到
0.10.2。Adapter 将原生 Kit 启动等待限制为 30 秒,并且只在仍存活的隔离 Worker 没有返回启动响应时清理并重试一次;确定性的 启动错误仍立即失败。 - Provider 标识与 UniRoboSim
v0alpha6契约保持不变。旧的0.10.1Distribution 会被精确发布矩阵拒绝,不会被静默替换。 - 将不可变的 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.1Distribution 不会被新别名 静默加载,而是明确拒绝。
0.1.0a5
- 当观测 Provider 的实现名称或版本不同、逻辑观测契约相同时,
simulation_contract_digest可在不同仿真后端之间保持一致。 - 公开 Run Manifest 继续保留
provider和provider_version,确保录制数据能够追溯 到具体实现。 - 观测标识、Schema、Shape、Dtype、单位、坐标系、必需性、失败策略和最大允许陈旧 Tick 等逻辑字段仍参与兼容性摘要。
- 确认后端别名、组件选中的后端 Variant 与后端资源 URI 仍不进入可移植仿真契约。
0.1.0a4
- 配置锁能够保留插件 Preset 的来源信息。
- 增加供独立 Record 与 Replay 插件使用的应用录制和生命周期服务契约。