Items
[!caution]ai 生成,可能叙事逻辑和表述并不是很好,仅供参考。
ranim-items 提供用户层 item:编写场景时直接构造和做动画的类型。与渲染表示(见渲染表示大节)相比,它们用 f64(DVec3 / DAffine3)描述、携带动画所需的辅助结构(如 PointVec 对齐包装),并实现了一批动画/变换trait(Interpolatable、Alignable、FillColor、ShiftTransform 等),可以直接配合 morph、fade_in 等动画使用。完整的动画输出原样保存在类型化帧中。启用 items 的 render feature 后,各物件实现值级 Extract;默认渲染配置已包含内置物件插件(RanimItemsPlugin),渲染裸内置类型无需装配。渲染未被覆盖的完整输出(容器、变换 wrapper、自定义类型)时,项目注册自定义RenderSetup,为实际完整输出安装 ExtractPlugin<T>;容器与变换 wrapper在渲染侧递归解释(见 完整求值帧与渲染提取)。
可见几何分两类:
VItem 类 —
vitem模块:矢量物件。核心是VItem,外加几何构造器(geometry)、SvgItem、以及typstfeature 提供的文字物件。MeshItem 类 —
mesh模块:三维网格物件。核心是MeshItem,外加参数曲面Surface和球体Sphere。
CameraFrame 定义相机数据与投影参数,CameraFramePlugin 负责其渲染提取与 viewport 准备(默认渲染配置已包含)。
另有 debug 模块提供调试辅助(如 VisualizeAabbItem<T>:把任意实现了Aabb 的 item 的包围盒可视化为线框矩形)。