Add scan flow MVP and local Axiom skill workspace
This snapshot establishes the camera-to-result recognition flow and related tests while checking in the project skill/docs assets required for the configured local tooling.
This commit is contained in:
28
StackDex/Views/CameraPreviewView.swift
Normal file
28
StackDex/Views/CameraPreviewView.swift
Normal file
@@ -0,0 +1,28 @@
|
||||
import AVFoundation
|
||||
import SwiftUI
|
||||
|
||||
struct CameraPreviewView: UIViewRepresentable {
|
||||
let session: AVCaptureSession
|
||||
|
||||
func makeUIView(context: Context) -> PreviewView {
|
||||
let view = PreviewView()
|
||||
view.previewLayer.session = session
|
||||
view.previewLayer.videoGravity = .resizeAspectFill
|
||||
return view
|
||||
}
|
||||
|
||||
func updateUIView(_ uiView: PreviewView, context: Context) {
|
||||
uiView.previewLayer.session = session
|
||||
}
|
||||
}
|
||||
|
||||
final class PreviewView: UIView {
|
||||
override class var layerClass: AnyClass { AVCaptureVideoPreviewLayer.self }
|
||||
|
||||
var previewLayer: AVCaptureVideoPreviewLayer {
|
||||
guard let layer = layer as? AVCaptureVideoPreviewLayer else {
|
||||
fatalError("PreviewView requires AVCaptureVideoPreviewLayer.")
|
||||
}
|
||||
return layer
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user