Skip to content

Commit 831aa5f

Browse files
{"schema":"decodex/commit/1","summary":"Land Shorten native host Swift file boundaries","authority":"manual"}
2 parents 28e46ba + f222895 commit 831aa5f

76 files changed

Lines changed: 446 additions & 452 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/reference/workspace-layout.md

Lines changed: 66 additions & 66 deletions
Large diffs are not rendered by default.

native/macos-host/Sources/RsnapNativeHostKit/NativeHostAboutSettingsPanel.swift renamed to native/macos-host/Sources/RsnapNativeHostKit/AboutSettingsPanel.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ private enum NativeHostAboutLinks {
77
}
88

99
private struct SoftwareUpdateModePicker: View {
10-
let snapshot: NativeHostSoftwareUpdater.Snapshot
11-
let onSelect: (NativeHostSoftwareUpdater.Mode) -> Void
10+
let snapshot: SoftwareUpdater.Snapshot
11+
let onSelect: (SoftwareUpdater.Mode) -> Void
1212

1313
var body: some View {
1414
HStack(spacing: 8) {
15-
ForEach(NativeHostSoftwareUpdater.Mode.allCases, id: \.rawValue) { mode in
15+
ForEach(SoftwareUpdater.Mode.allCases, id: \.rawValue) { mode in
1616
let enabled = isEnabled(mode)
1717
ModernSegmentButton(
1818
title: mode.title,
@@ -29,7 +29,7 @@ private struct SoftwareUpdateModePicker: View {
2929
.segmentedGlassBackground()
3030
}
3131

32-
private func isEnabled(_ mode: NativeHostSoftwareUpdater.Mode) -> Bool {
32+
private func isEnabled(_ mode: SoftwareUpdater.Mode) -> Bool {
3333
guard snapshot.isConfigured else {
3434
return false
3535
}
@@ -40,7 +40,7 @@ private struct SoftwareUpdateModePicker: View {
4040
}
4141

4242
private func helpText(
43-
for mode: NativeHostSoftwareUpdater.Mode,
43+
for mode: SoftwareUpdater.Mode,
4444
isEnabled: Bool
4545
) -> String {
4646
if snapshot.isConfigured == false {

native/macos-host/Sources/RsnapNativeHostKit/CaptureHostAnnotationStyleWheelGate.swift renamed to native/macos-host/Sources/RsnapNativeHostKit/AnnotationStyleWheelGate.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import CoreGraphics
22
import Foundation
33

4-
package struct CaptureHostAnnotationStyleWheelGate: Equatable {
4+
package struct AnnotationStyleWheelGate: Equatable {
55
package static let deadZone: CGFloat = 0.05
66
package static let preciseStepInterval: TimeInterval = 0.18
77
package static let discreteStepInterval: TimeInterval = 0.04

native/macos-host/Sources/RsnapNativeHostKit/NativeHostAppearanceSettings.swift renamed to native/macos-host/Sources/RsnapNativeHostKit/AppearanceSettingsPanel.swift

File renamed without changes.

native/macos-host/Sources/RsnapNativeHostKit/NativeHostCaptureFrameSettings.swift renamed to native/macos-host/Sources/RsnapNativeHostKit/CaptureFrameSettings.swift

File renamed without changes.

native/macos-host/Sources/RsnapNativeHostKit/CaptureHostView.swift

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@ import Foundation
44
import QuartzCore
55
import RsnapHostBridge
66

7+
private struct ChromeRefreshTelemetryKey: Equatable {
8+
let targetHz: Int
9+
let hudGlassEnabled: Bool
10+
let hudGlassMode: String
11+
let liquidGlassStyle: String
12+
let liquidGlassAvailable: Bool
13+
}
14+
715
@MainActor
816
final class CaptureHostView: NSView {
917
static let liveDragIntentThreshold: CGFloat = 3
@@ -26,20 +34,20 @@ final class CaptureHostView: NSView {
2634
private(set) var chrome = CaptureChromeState()
2735
private(set) var settings = NativeHostSettings.defaults
2836
private var trackingAreaRef: NSTrackingArea?
29-
var annotationStyleWheelGate = CaptureHostAnnotationStyleWheelGate()
37+
var annotationStyleWheelGate = AnnotationStyleWheelGate()
3038
var lastCursorPresentation: CaptureHostCursorPresentation?
3139
let cursorOwner = CaptureHostCursorOwner()
32-
var livePrimaryInteraction = CaptureHostLivePrimaryInteractionState()
33-
let mouseReleaseRecovery = CaptureHostMouseReleaseRecovery()
34-
let livePointerPreview = CaptureHostLivePointerPreviewState()
40+
var livePrimaryInteraction = PrimaryInteractionState()
41+
let mouseReleaseRecovery = MouseReleaseRecovery()
42+
let livePointerPreview = LivePointerPreviewState()
3543
var liveHighlightedWindowPreview: WindowSnapshot?
3644
var sampleUpdatedLiveChromeRenderInProgress = false
37-
var frozenFirstDisplayHandoff = CaptureHostFrozenFirstDisplayHandoffState()
45+
var frozenFirstDisplayHandoff = DisplayHandoffState()
3846
var lastLivePreviewSnapshot: LivePreviewSnapshot?
39-
var liveSampleCache = CaptureHostLiveSampleCache()
40-
lazy var frozenToolbar = CaptureHostFrozenToolbarCoordinator(hostView: self)
41-
private lazy var materialViews = CaptureHostMaterialViewCoordinator(hostView: self)
42-
lazy var pointerDispatchQueue = CaptureHostPointerDispatchQueue(
47+
var liveSampleCache = LiveSampleCache()
48+
lazy var frozenToolbar = FrozenToolbarCoordinator(hostView: self)
49+
private lazy var materialViews = MaterialViewCoordinator(hostView: self)
50+
lazy var pointerDispatchQueue = PointerDispatchQueue(
4351
targetInterval: { [weak self] in
4452
guard let self else {
4553
return NativeHostDisplayRefresh.frameInterval(
@@ -55,12 +63,12 @@ final class CaptureHostView: NSView {
5563
lazy var liveRenderer = LiveOverlayRenderer(hostView: self)
5664
private var liveRendererInstalled = false
5765
private var deferredLiveShutdownWorkItem: DispatchWorkItem?
58-
private var loggedLiveRefreshTarget: LiveChromeRefreshTelemetryKey?
59-
let liveInputTelemetry = CaptureHostLiveInputTelemetry()
66+
private var loggedLiveRefreshTarget: ChromeRefreshTelemetryKey?
67+
let liveInputTelemetry = LiveInputTelemetry()
6068

6169
override var acceptsFirstResponder: Bool { true }
6270
override var isOpaque: Bool { false }
63-
var toolbarHoverState: CaptureHostToolbarHoverState { frozenToolbar.hoverState }
71+
var toolbarHoverState: ToolbarHoverState { frozenToolbar.hoverState }
6472

6573
override func hitTest(_ point: NSPoint) -> NSView? {
6674
guard scene.mode == .frozen, chrome.scrollMinimapPreview != nil,
@@ -127,7 +135,7 @@ final class CaptureHostView: NSView {
127135
self.chrome = chrome
128136
self.settings = settings
129137
if hostLocalFrozenSelectingEnded {
130-
clearLivePrimaryInteractionState(rendersImmediately: false)
138+
clearPrimaryInteractionState(rendersImmediately: false)
131139
}
132140
if previousMode != scene.mode {
133141
window?.acceptsMouseMovedEvents = true
@@ -147,7 +155,7 @@ final class CaptureHostView: NSView {
147155
liveHighlightedWindowPreview = scene.highlightedWindow
148156
}
149157
} else {
150-
clearLivePrimaryInteractionState(rendersImmediately: false)
158+
clearPrimaryInteractionState(rendersImmediately: false)
151159
if scene.mode == .hidden {
152160
livePrimaryInteraction.clearHoverChromeSuppression()
153161
frozenFirstDisplayHandoff.reset()
@@ -399,7 +407,7 @@ final class CaptureHostView: NSView {
399407
seedLivePointerPreview(scene.pointer, recordsInputLatency: false)
400408
liveHighlightedWindowPreview = scene.highlightedWindow
401409
} else {
402-
clearLivePrimaryInteractionState(rendersImmediately: false)
410+
clearPrimaryInteractionState(rendersImmediately: false)
403411
resetLivePointerPreview()
404412
liveHighlightedWindowPreview = nil
405413
}
@@ -466,7 +474,7 @@ final class CaptureHostView: NSView {
466474
now: ProcessInfo.processInfo.systemUptime
467475
)
468476
lastLivePreviewSnapshot = retainedLivePreview
469-
clearLivePrimaryInteractionState(rendersImmediately: false)
477+
clearPrimaryInteractionState(rendersImmediately: false)
470478
resetLivePointerPreview()
471479
liveHighlightedWindowPreview = nil
472480
frozenToolbar.clearHoveredAction()
@@ -585,13 +593,13 @@ final class CaptureHostView: NSView {
585593
return
586594
}
587595
if let selection = localFrozenSelectionRect().map({
588-
CaptureHostFrozenPresentationRenderer.pixelAlignedSelectionRect(
596+
FrozenSurfaceRenderer.pixelAlignedSelectionRect(
589597
$0,
590598
backingScaleFactor: window?.screen?.backingScaleFactor ?? 1
591599
)
592600
}) {
593601
let toolbarLayout = toolbarLayout(for: selection)
594-
CaptureHostFrozenPresentationRenderer.render(
602+
FrozenSurfaceRenderer.render(
595603
selection: selection,
596604
bounds: bounds,
597605
backingScaleFactor: window?.screen?.backingScaleFactor ?? 1,
@@ -600,7 +608,7 @@ final class CaptureHostView: NSView {
600608
chrome: chrome,
601609
toolbarLayout: toolbarLayout,
602610
toolbarHoverState: toolbarHoverState,
603-
materialState: CaptureHostFrozenPresentationMaterialState(
611+
materialState: FrozenSurfaceMaterialState(
604612
toolbarLiquidGlassVisible: materialViews.isFrozenToolbarLiquidGlassVisible,
605613
toolbarLiquidGlassContentDrawn: materialViews
606614
.isFrozenToolbarLiquidGlassContentDrawn,
@@ -821,7 +829,7 @@ final class CaptureHostView: NSView {
821829
deferredLiveShutdownWorkItem?.cancel()
822830
deferredLiveShutdownWorkItem = nil
823831
let displayTargetHz = currentDisplayTargetFramesPerSecond()
824-
let refreshTarget = LiveChromeRefreshTelemetryKey(
832+
let refreshTarget = ChromeRefreshTelemetryKey(
825833
targetHz: displayTargetHz,
826834
hudGlassEnabled: settings.hudGlassEnabled,
827835
hudGlassMode: settings.resolvedHudGlassMode.rawValue,

native/macos-host/Sources/RsnapNativeHostKit/CaptureOverlayController.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ final class CaptureOverlayController {
1212
private var focusedWindowNumber: Int?
1313
private var collapsedForFrozen = false
1414
private lazy var windowSnapshotFeed = WindowSnapshotFeed()
15-
private let liveChromePipeline: CaptureOverlayLiveChromePipeline
15+
private let liveChromePipeline: LiveChromePipeline
1616
private var pendingCaptureStreamPreparation: (() -> Void)?
1717
private var primaryMousePassthroughToken: UInt64 = 0
1818
private var allMousePassthroughActive = false
@@ -22,10 +22,10 @@ final class CaptureOverlayController {
2222
liveFrameStream: LiveFrameStreamBroker,
2323
frameRgbSampler: @escaping ChromeSampleFeed.FrameRgbSampler,
2424
framePatchSampler: @escaping ChromeSampleFeed.FramePatchSampler,
25-
frameRegionSampler: @escaping CaptureOverlayLiveChromePipeline.FrameRegionSampler
25+
frameRegionSampler: @escaping LiveChromePipeline.FrameRegionSampler
2626
) {
2727
self.controller = controller
28-
self.liveChromePipeline = CaptureOverlayLiveChromePipeline(
28+
self.liveChromePipeline = LiveChromePipeline(
2929
liveFrameStream: liveFrameStream,
3030
frameRgbSampler: frameRgbSampler,
3131
framePatchSampler: framePatchSampler,
@@ -390,7 +390,7 @@ final class CaptureOverlayController {
390390

391391
for window in windowsToRetire {
392392
window.hostView.clearVisibleCursorOverride()
393-
window.hostView.clearLivePrimaryInteractionState(rendersImmediately: false)
393+
window.hostView.clearPrimaryInteractionState(rendersImmediately: false)
394394
window.hostView.finishLivePresentationTelemetry(reason: "close")
395395
window.hostView.controller = nil
396396
window.ignoresMouseEvents = true
@@ -555,7 +555,7 @@ final class CaptureOverlayController {
555555
guard let source = frozenCaptureJobSource(near: point) else {
556556
return nil
557557
}
558-
return CaptureOverlayImageSampler.captureBelowOverlay(in: rect, source: source)
558+
return OverlayImageSampler.captureBelowOverlay(in: rect, source: source)
559559
}
560560

561561
static var desktopFrame: CGRect {

native/macos-host/Sources/RsnapNativeHostKit/CaptureSessionController+Runtime.swift renamed to native/macos-host/Sources/RsnapNativeHostKit/CaptureRuntime.swift

File renamed without changes.

native/macos-host/Sources/RsnapNativeHostKit/CaptureSessionController.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ final class CaptureSessionController: NSObject {
7474
label: "ink.hack.rsnap.frozen-image-render",
7575
qos: .userInitiated
7676
)
77-
let textRecognitionEngine = NativeTextRecognitionEngine()
78-
let frozenPreparedExportStore = FrozenPreparedExportStore()
77+
let textRecognitionEngine = TextRecognitionEngine()
78+
let frozenPreparedExportStore = PreparedExportStore()
7979
let frozenPreparedRecognizeTextImageStore = FrozenPreparedRecognizeTextImageStore()
8080
let captureSuccessSound = CaptureSuccessSound.load()
8181
let ocrCompletionSound = OcrCompletionSound.load()

native/macos-host/Sources/RsnapNativeHostKit/NativeHostCaptureSettingsPanel.swift renamed to native/macos-host/Sources/RsnapNativeHostKit/CaptureSettingsPanel.swift

File renamed without changes.

0 commit comments

Comments
 (0)