发布状态与限制
0.1.0-rc.1 已发布。 各项功能已支持对应指南中列出的组合。0.1.0 的功能范围已冻结,正式版的验收工作仍在进行。
RC.1 已提供的功能
- 共享元素导航、共享手势、返回当前单元格和联动相册,支持文档列出的 Frame/ListView/静态图像组合。
- 原生手势组合:平移、双指缩放和旋转,以及支持的垂直 Core ScrollView 手势交接。拖动约束和照片缩放各有独立的交互约定。
- 使用 Core ListView 适配器的滚动组合,以及驱动原生动画值的旋转/重力传感器。
- 实际尺寸、布局变化、动画值、可观察的播放进度和时间轴联合控制。
- 通过可选原生插件提供的外部原生属性,包括 SceneKit 光照/材质、相机视野和环境/着色器输入。
- 重力、带约束的圆形物理模拟、矢量绘制与变形、模糊动画和 Liquid Glass,具体平台支持及降级行为见各自文档。
当前限制
animateSize()支持 StackLayout/GridLayout,也可用于 ScrollView 内部,但每帧需要通过 JavaScript 测量并更新布局。弹性空间分配、复用单元格和共享元素不属于该 API 的支持范围。drag()不提供通用的多指手势组合。平移、双指缩放和旋转请使用gestures();照片缩放则提供专用的缩放、平移和关闭控制器。手势交接适配器支持垂直 Core ScrollView;其他列表/容器组合需要独立的适配器和原生验证。- 外部属性适配器需要
@rafaelaugusto/jolt-native。内置的 SceneKit 相机、光照和材质适配器仅支持 iOS;未内置 Android 3D 渲染器适配器。MapKit 与 MapLibre 的相机单位不同。 - SceneKit 相机视野支持 iOS 上的自动透视投影。正交缩放、自定义投影矩阵和任意镜头控制不属于该适配器的支持范围。
- 时间轴可统一暂停和恢复其参与者,但不能任意调整回调或一次性效果的整体进度。
- 原生播放的执行路径因 API 而异。原生属性写入不会将渲染器与主线程 JavaScript 隔离。布局、主动订阅、输入和生命周期处理仍有文档所述的 JavaScript 成本。
从 RC 到 0.1.0
下列尚未关闭的验收议题对应的 API 已经发布。正式版发布前,需在 iOS 和 Android 真机上验证所支持的组合:
- 相册(#117): 缩放/返回中断、复用或删除的目标、旋转、辅助功能,以及反复导航后不残留覆盖层。
- 滚动组合(#116): 使用已支持的 Core ListView 适配器验证反向滚动/惯性、延迟发生的布局变化、锚点保持和资源清理。
- 传感器(#114): 实时旋转/重力硬件、方向映射、采样成本和订阅清理。模拟器输入只能验证处理流程,不能验证真实传感器的数据采集。
- 发布提交上的通用、iOS 和 Android 回归检查及其负向对照均须通过。验证匹配版本的软件包安装和干净的原生重编译,并在打正式版标签前解决阻碍发布的回归问题。
帧间隔稳定性、输入响应和保留内存仍需真机证据。已收集的证据与剩余检查见相册、滚动和传感器验证报告。模拟器录屏不能代替真机验收。
0.1.0 之后
后续 RC 聚焦正确性、兼容性、辅助功能、生命周期清理和文档。新增能力安排在 0.1.0 之后,包括更多框架适配器、任意视图着色器、更多传感器类型、刚体间物理关节和通用模态导航。
对比项目与当前支持范围的发布相互独立。范围更大的功能议题不会扩大正式版支持的组合,也不会改变文档所列的平台降级行为和 JavaScript 成本。