Files
wristcode/watch/README.md
T
gibandClaude Opus 5.5 9731fd621f Watch: demo screenshots, wrapping reply chips, feed toolbar and inset fixes, README
Screenshots of Pair, Feed, Thread (finished, approval, question) and New
thread, taken in the Series 12 46mm simulator in demo mode.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 02:33:15 -05:00

1.9 KiB

WristCode watch app

SwiftUI, watch only, Swift 6 with strict concurrency, and no dependencies. It talks to the gateway over HTTPS + JSON as described in docs/api.md; WristCode/API/Models.swift mirrors gateway/src/contract.ts.

Build and test

cd watch
xcodegen generate            # the .xcodeproj is generated and gitignored
xcodebuild -scheme WristCode -destination 'platform=watchOS Simulator,name=Apple Watch Series 12 (46mm)' build
xcodebuild -scheme WristCode -destination 'platform=watchOS Simulator,name=Apple Watch Series 12 (46mm)' test

Demo mode

DemoGateway serves fixture data shaped like the docs/api.md examples, and it reacts to writes: Allow moves a thread to working, a reply restarts a finished thread. The SwiftUI previews use it, the pairing screen has a "Try the demo" button, and launch arguments open a screen directly:

xcrun simctl launch <udid> org.gbrown.wristcode -demo                                # feed
xcrun simctl launch <udid> org.gbrown.wristcode -demo -thread littleman/t-next       # thread
xcrun simctl launch <udid> org.gbrown.wristcode -demo -screen new                    # new thread

screenshots/ holds the screens captured this way.

Layout

Path Job
WristCodeApp.swift App entry, root navigation, WKApplicationDelegate for APNs registration
AppModel.swift Paired, demo or unpaired; navigation path; the feed; 401 sends you back to pairing
API/GatewayClient.swift GatewayAPI protocol and the URLSession client
API/Models.swift Codable mirror of the contract
Auth/DeviceStore.swift Device token and gateway URL in the Keychain
Demo/DemoGateway.swift In-memory gateway with fixtures
Views/ Pair, Feed, Thread, New thread, and the mock B theme
Notifications/NotificationHandler.swift Categories approval, finished, failed, input, host and their actions