用途:帮助在 Apple Vision Pro(visionOS)上构建与调试 WidgetKit 小组件。核心理念是把 visionOS 小组件当作空间对象而非小型 2D 平面,先确定平台与 family 范围,再在美化视觉前定义近距与远距布局。
主要能力:覆盖小组件平台与 family 选择(原生 visionOS family、兼容 iOS family、extra-large 支持,其中原生 visionOS extra-large 使用 .systemExtraLargePortrait,兼容 iOS/iPadOS 保持 .systemExtraLarge);elevated 与 recessed 挂载样式;visionOS 渲染模式、背景、纹理(glass 与 paper)与不同渲染模式下的可读性;用 LevelOfDetail 实现近/远布局;通过 Button、Toggle 或 AppIntent 添加交互;用时间线条目与 Canvas 交叉淡入实现动画并注意帧率与预算;以及小组件不刷新、不出现、陈旧或损坏时的调试与更新。
使用方式:按问题加载对应参考文件(如 widget-overview.md、families-and-platforms.md、mounting-styles.md、visionos-rendering-styles.md、textures-and-rendering.md、proximity-levelofdetail.md、interactive-widgets.md、debugging-and-updates.md、widget-animation.md)。工作流为:确认平台与 family;选择挂载、纹理与近远布局策略;确定数据路径(仅时间线、App Group/共享存储、后台 URL session 或 WidgetKit 推送);仅在仍保持可扫视时添加交互;结构确定后验证时间线、重载、渲染模式与扩展日志。
限制与注意事项:始终考虑 .simplified 以保证远距可读;不要假定 recessed 模式无需显式布局检查即可工作;避免密集、低对比布局;用 Link 或 widgetURL(_:) 打开应用导航,Button 与 Toggle 保留给真实 AppIntent 操作;WidgetBundle 内的小组件配置保持在实用上限内。官方文本暂未提供。