用途:在真实设备或浏览器上验证 TrueSheet 的改动与回归,覆盖 ios/、android/、Web 表单(src/web、*.web.tsx)。适用于可见异常(sheet/footer/dim 跳动、闪烁、高度错误)、事件与计时正确性(onPositionChange 实时与稳定、detent 变化、present/dismiss、取消滑动、堆叠 sheet)、竞态或崩溃的确定性复现、移动 Safari/Chrome 键盘与可视视口,以及判断 bug 属于回归还是既有问题。
主要能力:构建安装并启动裸示例(iOS bundle id 与 Android 包名均为 truesheet.example);提供示例地图(MapScreen 主 ReanimatedTrueSheet,FlatList、ScrollView、Sheet Navigator、Test Screen、Basic 等场景);证据工具包括运行时钩子、帧分析、原生调试与 Web 读数;支持与 HEAD 做 A/B 对比。
使用方式:先阅读 argent-device-interact 再操作设备。Metro 用 yarn bare start 后台运行;iOS 因 Xcode 27 下 react-native run-ios 不可用,需在 example/bare/ios 执行 xcodebuild(示例命令保留)。Android 用 cd example/bare/android && ./gradlew app:installDebug -PreactNativeArchitectures=arm64-v8a;Web 用 yarn expo web --port 8090 后 open-url。A/B 时先备份工作改动,用 git show HEAD:<path> 换入 HEAD 构建后立即恢复,切勿 git stash 用户工作。iOS 与 Android 均只支持运行时钩子;Android 同时只跑一个 Gradle 构建。
限制:部分平台与版本有已知问题,如 iOS 0.3 detent 子 sheet 遮挡、iOS 27 不可关闭 sheet 点击系统 dim 不触发 onDismissAttempt、Android onPositionChange 可能翻转、activity 重建崩溃等。完成后须清理临时日志、探针与示例改动,并按平台格式化(clang-format、scripts/ktlint.sh、yarn typecheck && yarn lint)。若资料未提供之处暂未明确。