Files
Screens/Project.yml
Trey T 1c01b3573f Phases 1-4: full VNC client implementation
- SessionController wraps RoyalVNCKit.VNCConnection via nonisolated delegate
  adapter that bridges callbacks to @MainActor; Keychain-resolved passwords;
  reconnect with jittered exponential backoff; NWPathMonitor adaptive-quality
  hook; framebuffer rendered to CALayer.contents from didUpdateFramebuffer.
- Touch + trackpad input modes with floating soft cursor overlay; hardware
  keyboard via pressesBegan/Ended → X11 keysyms; UIPointerInteraction with
  hidden cursor for indirect pointers; pinch-to-zoom; Apple Pencil as direct
  touch; two-finger pan / indirect scroll wheel events.
- Bidirectional clipboard sync (per-connection opt-in); multi-monitor screen
  picker with input remapping; screenshot capture → share sheet; on-disconnect
  reconnect/close prompt; view-only and curtain-mode persisted.
- iPad multi-window via WindowGroup(for: UUID.self) + context-menu open;
  CloudKit-backed ModelContainer with local fallback; PrivacyInfo.xcprivacy.

10 VNCCore tests + 4 VNCUI tests pass; iPhone and iPad simulator builds clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-16 20:07:54 -05:00

46 lines
1.0 KiB
YAML

name: Screens
options:
bundleIdPrefix: com.example.screens
deploymentTarget:
iOS: "18.0"
developmentLanguage: en
xcodeVersion: "16.0"
settings:
base:
SWIFT_VERSION: "6.0"
SWIFT_STRICT_CONCURRENCY: complete
ENABLE_USER_SCRIPT_SANDBOXING: YES
CODE_SIGN_STYLE: Automatic
packages:
VNCCore:
path: Packages/VNCCore
VNCUI:
path: Packages/VNCUI
targets:
Screens:
type: application
platform: iOS
deploymentTarget: "18.0"
sources:
- path: Screens
excludes:
- Resources/Info.plist
- path: Screens/Resources/PrivacyInfo.xcprivacy
type: file
buildPhase: resources
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.example.screens
PRODUCT_NAME: Screens
TARGETED_DEVICE_FAMILY: "1,2"
GENERATE_INFOPLIST_FILE: NO
INFOPLIST_FILE: Screens/Resources/Info.plist
SWIFT_EMIT_LOC_STRINGS: YES
dependencies:
- package: VNCCore
product: VNCCore
- package: VNCUI
product: VNCUI