2个不稳定版本
使用旧的Rust 2015
0.1.0 | 2017年6月10日 |
---|---|
0.0.1 | 2017年5月31日 |
#1655 在 数据结构
180KB
3.5K SLoC
定义用于构建和操作表面之间空间和时间关系的数据结构和功能。
结构
帧以树形结构组织,有一个根节点。每个分支的子节点有两个顺序
- 时间顺序 - 描述帧在给定分支中的使用顺序
- 空间顺序 - 描述在屏幕上绘制的放置顺序
操作
在树中的基本操作是在空间顺序中追加、前置或连接帧。使用这些操作添加的帧始终成为时间顺序中的最后一个。要成为时间顺序中的第一个,必须执行弹出。
扩展
通过特性首先实现基本功能的扩展,首先是为了清晰地分离功能,其次是为了通过将代码拆分到不同的模块来缩短文件长度。
searching
- 提供更高级或常见的方法来查找指定的帧settle
- 实现添加或移动帧的常见方法
实现
帧树是循环图,每个节点可选地指向
- 父节点
- 时间顺序中的下一个兄弟节点
- 时间顺序中的前一个兄弟节点
- 时间顺序中的第一个子节点
- 时间顺序中的最后一个子节点
- 空间顺序中的下一个兄弟节点
- 空间顺序中的前一个兄弟节点
- 空间顺序中的第一个子节点
- 空间顺序中的最后一个子节点
当前实现使用不安全的原始指针。这使实现比其他更习惯的方式更快、更简单,但失去了Rust的保证。运行时安全性由单元测试确保。
依赖关系
~9MB
~182K SLoC