Two SPM packages (VNCCore, VNCUI) + thin iOS app target wired via xcodegen. Builds for iPhone 17 simulator, unit tests pass. - VNCCore: SessionState, SessionController stub, Transport protocol with DirectTransport (NWConnection), DiscoveryService (Bonjour on _rfb._tcp and _workstation._tcp), SavedConnection @Model, ConnectionStore, KeychainService, ClipboardBridge - VNCUI: ConnectionListView, AddConnectionView, SessionView, FramebufferView/FramebufferUIView (UIKit CALayer), InputMapper, SettingsView; UIKit bits guarded with #if canImport(UIKit) so swift test runs on macOS - App: @main VNCApp, AppStateController state machine, RootView - RoyalVNCKit dependency pinned to main (transitive CryptoSwift constraint blocks tagged releases) - xcodegen Project.yml + README + .gitignore Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
16 lines
520 B
Swift
16 lines
520 B
Swift
import Testing
|
|
@testable import VNCUI
|
|
import CoreGraphics
|
|
|
|
@Suite struct InputMapperTests {
|
|
@Test @MainActor func tapInMiddleMapsToFramebufferCenter() {
|
|
let mapper = InputMapper()
|
|
let fb = CGSize(width: 1920, height: 1080)
|
|
let view = CGSize(width: 192, height: 108)
|
|
let event = mapper.pointerFromTap(at: CGPoint(x: 96, y: 54), in: fb, viewBounds: view)
|
|
#expect(event.location.x == 960)
|
|
#expect(event.location.y == 540)
|
|
#expect(event.buttonMask == 0b1)
|
|
}
|
|
}
|