可嵌入、引擎无关、确定性的道路交通运行时与工具链
确定性固定步进 · 共享静态路网 · 引擎适配
LaneFlow 把受检静态路网转换为可共享修订,并在宿主控制下推进道路机动车交通。
Important
LaneFlow 仍处于 1.0 前。 当前工作区 crate 均为 0.0.0 且
publish = false,仅支持从源码集成;API 与格式可能直接调整。
需要 Git、rustup 和 Rust 1.99.1:
git clone https://github.com/illusion-tech/laneflow.git
cd laneflow
cargo +1.99.1 run --locked -p laneflow-bevy --example quickstart --features native-example窗口中可以看到两辆车沿车道移动,浅色车头标记显示行驶朝向;关闭窗口结束。 车道来自同一共享路网修订的空间中心线,车辆通过 Session 绑定并同步完整位姿。 这是有限路线夹具:车辆会等待信号,行程结束后不回流;重新运行可重播。
想看持续车流或复杂路口,可以换用其他示例:
| 示例 | 适合场景 | 行为 |
|---|---|---|
quickstart |
最小接入、车辆绑定与位姿同步 | 两辆车,有限路线,完成后不回流 |
corridor_traffic |
持续车流与宿主生命周期 | 默认 100 车,支持 50–200,完成后回流 |
junction_debug |
复杂路口领域观测与可视诊断 | 确定性场景,F2 开关只读诊断 overlay |
参数与完整命令见 laneflow-bevy 示例。
无窗口验证
不打开窗口,确认最小示例的装配、绑定与位姿同步链路:
cargo +1.99.1 test --locked -p laneflow-bevy --test quickstart_smoke参与开发时的完整工作区检查见贡献指南 · 测试与验证。
| 能力 | 当前支持 |
|---|---|
| 静态路网 | 编译与检查静态制品,构建可跨世界共享的路网修订 |
| 交通推进 | 跟驰、信号遵守、等待区与冲突区联合裁决、显式路权策略和停车生命周期 |
| 世界管理 | 快照保存与恢复、路网修订切换 |
| 宿主接口 | 已提交交通观测、候选路线接入,以及由宿主控制的生命周期操作 |
| 空间与表现接入 | 可选位姿采样、按需位姿提取和引擎适配 |
| 执行方式 | 确定性固定步进,支持单世界多 worker 执行 |
| 参考集成 | Bevy 0.20 适配,以及最小入门、持续车流和复杂路口诊断示例 |
宿主负责交通需求、出发计划、路线选择策略与 Routing 算法,以及引擎生命周期与最终 表现;LaneFlow 不内置专业交通工程分析。
当前只交付道路机动车特化和 Bevy 0.20 Reference Adapter。交通参与单元与交通执行域 是长期抽象方向,不代表已经支持其他执行域,也不构成交付时间承诺。
下图展示静态路网的编制、共享消费及宿主集成关系。虚线表示可选的空间与表现路径。
flowchart TD
Source["道路编制输入"] --> Build["编译与校验"]
Build -->|由受检 LFCA 构建| Revision["SharedNetworkRevision"]
Revision -->|交通数据| Runtime["TrafficWorld"]
Revision -.->|空间几何| Spatial["SpatialSession(可选)"]
Runtime -->|已提交交通状态| Host["宿主接入 / Adapter"]
Spatial -.->|规范位姿| Host
Host -.-> Presentation["引擎表现(可选)"]
TrafficWorld与SpatialSession绑定同一份共享路网修订;无窗口运行可以只使用 Runtime。- 位姿采样由宿主或 Adapter 编排:读取 Runtime 的已提交位姿来源,交给 Spatial 采样, 再应用到引擎实体。Runtime 与 Spatial 互不依赖,图中省略具体调用与返回过程。
- 路线由宿主提供,在每个世界中通过
TrafficWorld::register_route注册,不写入静态 路网制品。
详细职责与依赖方向见架构说明和 Traffic Runtime 共享静态路网消费契约。
| 我想做什么 | 阅读入口 |
|---|---|
| 运行示例或接入 Bevy | laneflow-bevy |
| 嵌入无窗口交通运行时 | laneflow-runtime |
| 编制路网、了解静态制品 | laneflow-compiler、laneflow-static-network |
| 组织参考场景与车辆生成 | laneflow-scenario |
| 理解架构和宿主职责 | 架构说明、定位与宿主边界 |
| 参与开发 | 贡献指南、Agent 说明 |
| 查找完整资料或反馈问题 | 文档索引、Issue Tracker |
LaneFlow 采用 Apache License 2.0。品牌名称与标记的使用边界见 品牌标记使用说明。