设计思想
Roplat 的核心目标是“运行时危险左移”。
意思是:能在编译期发现的问题,就尽量不要留到机器人跑起来后再发现。
三个关键词
- 确定性
节点输入输出、节律触发和系统拓扑尽量显式,减少隐式行为。
- 可组合
用统一抽象组织复杂系统:
- Node:计算单元
- Rhythm:触发机制
-
System:组合与调度边界
-
可扩展
Rust 是主调度语言,但算法实现不限制在 Rust,可接入 C++ 与 Python。
进程内静态 + 进程级动态
这是理解 Roplat 的关键:
- 进程内静态
在单个系统中,拓扑与类型关系尽量由编译期约束。
- 进程级动态
系统之间仍可运行期启停、替换和切换,不把动态能力彻底禁掉。
为什么不走全动态
全动态会把大量校验推迟到运行时。在机器人场景中,这意味着:
- 问题暴露更晚
- 复现成本更高
- 线上风险更大
Roplat 选择先把高概率、高代价错误拦在编译阶段,再在运行期保留必要弹性。
新人的心智模型
- 你写的不是脚本串联,而是有类型边界的执行图。
build.rs不只是编译钩子,而是多语言生成链的一部分。- 系统管理文件与用户文件分离,是为了稳定升级和用户可控。