Runtime 边界
这是 Ansiq 架构里最重要的一页之一。
如果 runtime 边界不清晰,整个框架会很快膨胀。
Runtime 负责什么
Ansiq runtime 当前负责:
- app lifecycle
- reactive flush scheduling
- dirty scope collection
- subtree rerender and replacement
- focus and input routing
- partial relayout
- invalidated region tracking
- terminal session / viewport management
- framebuffer diff and terminal patch emission
这些职责现在都已经有实现,只是成熟度不完全一致。
Runtime 不负责什么
Ansiq runtime 不负责:
- 业务状态建模
- 网络协议
- 高层 AI agent 编排
- markdown / 富文本复杂语义
- 持久化和外部存储策略
这些事情如果都塞进 runtime,它就会失去边界。
为什么这条边界重要
runtime 的职责应该是:
- 协调
- 调度
- 更新
- patch emission
而不是替你定义业务。
换句话说,runtime 应该是一个“强基础设施层”,而不是一个“什么都能管一点的上帝对象”。
当前已经收掉的几条关键边界
过去一段时间,Ansiq 已经把几件容易膨胀的事收得更清楚了:
- reactive graph 和 UI tree 继续保持解耦
- continuity contract 从 runtime 补丁式分支,收成更正式的契约
- layout / routing / draw 里的纯协议和纯数学部分持续下沉到更合理的层
- viewport/history 的一部分行为从终端查询依赖改成了纯计算
这些都不是“实现细节优化”,而是在持续捍卫 runtime 边界。
一条你应该一直拿来判断设计的规则
问自己:
这件事是在决定“谁脏了”、“怎么更新 terminal”,还是在处理业务本身?
如果答案偏向业务,那它大概率不该进 runtime。
下一步
继续阅读 Runtime 循环 或 响应式图与 UI 树。
前者解释 runtime 如何运转,后者解释为什么它需要两棵不同的图。
Last updated on