-
Notifications
You must be signed in to change notification settings - Fork 0
[Watch] 7 - Control Board Move #490
Copy link
Copy link
Closed
Labels
area:iosiOS-only work: platform port and iOS-specific native code. Not cross-platform work that touches iOSiOS-only work: platform port and iOS-specific native code. Not cross-platform work that touches iOSarea:nativeTouches native side (modules/vesc-ble, Swift/Kotlin)Touches native side (modules/vesc-ble, Swift/Kotlin)area:watchWatch Mirror: wrist telemetry + alert playback (Wear OS / watchOS companions)Watch Mirror: wrist telemetry + alert playback (Wear OS / watchOS companions)complexity:highCritical paths, subtle correctness, native pipelines. Use opus.Critical paths, subtle correctness, native pipelines. Use opus.enhancementNew feature or requestNew feature or requestready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agent
Description
Activity
Metadata
Metadata
Assignees
Labels
area:iosiOS-only work: platform port and iOS-specific native code. Not cross-platform work that touches iOSiOS-only work: platform port and iOS-specific native code. Not cross-platform work that touches iOSarea:nativeTouches native side (modules/vesc-ble, Swift/Kotlin)Touches native side (modules/vesc-ble, Swift/Kotlin)area:watchWatch Mirror: wrist telemetry + alert playback (Wear OS / watchOS companions)Watch Mirror: wrist telemetry + alert playback (Wear OS / watchOS companions)complexity:highCritical paths, subtle correctness, native pipelines. Use opus.Critical paths, subtle correctness, native pipelines. Use opus.enhancementNew feature or requestNew feature or requestready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agent
What to build
Relay wrist hold/release intent to existing native iOS Board Move actions. The phone owns strength, link checks, firmware constraints and a dead-man timeout.
Source: docs/watchos.md and the approved watchOS parity plan. Execution: AFK, with integrated hardware validation in slice 8.
Likely files
watch/wearos/src/main/java/app/vescape/wear/MoveScreen.kt— existing Wear OS behavior or wire-contract peer.watch/wearos/src/main/java/app/vescape/wear/WatchCommand.kt— existing Wear OS behavior or wire-contract peer.modules/vescape-core/android/src/main/java/expo/modules/vescapecore/watch/WatchMoveRelay.kt— existing Android phone-side parity peer.modules/vescape-core/ios/BoardMoveController.swift— existing native iOS integration or test starting point.modules/vescape-core/ios/BoardMoveControllerTests.swift— existing native iOS integration or test starting point.modules/vescape-core/ios/connection/BoardSessionController.swift— existing native iOS integration or test starting point.Implementation hints
Read current Android code, not historical alert-forwarding docs. Keep native phone truth and actions in vescape-core; do not make live wrist behavior depend on JS. Add bidirectional @parity links for equivalent contracts/logic and document verified platform differences in docs/watchos.md. New durable watch source belongs under watch/watchos/, not generated ios/. The local planning document will be included in the draft watchOS feature PR; this issue includes its relevant requirements independently.
Acceptance criteria
Blocked by
Related