From 0c36cc115e6dcd535b8cf320c0b4036b9d60c364 Mon Sep 17 00:00:00 2001 From: h Date: Sat, 19 Sep 2026 23:28:18 +0200 Subject: [PATCH] feat(*): inkless app for the mxw01 thermal printer --- .gitignore | 32 ++ .pre-commit-config.yaml | 13 + .swiftformat | 8 + .swiftlint.yml | 24 + CLAUDE.md | 16 + Config/Base.xcconfig | 2 + Config/Signing.example.xcconfig | 2 + Design/printer.svg | 44 ++ Inkless.xcodeproj/project.pbxproj | 356 +++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/xcschemes/Inkless.xcscheme | 29 ++ Inkless/App/Composers.swift | 195 ++++++++ Inkless/App/DebugLaunch.swift | 53 +++ Inkless/App/InklessApp.swift | 59 +++ Inkless/AppIcon.icon/Assets/body.svg | 1 + Inkless/AppIcon.icon/Assets/paper.svg | 1 + Inkless/AppIcon.icon/Assets/ring.svg | 1 + Inkless/AppIcon.icon/icon.json | 83 ++++ Inkless/Assets.xcassets/Contents.json | 1 + .../Printer.imageset/Contents.json | 1 + .../Printer.imageset/printer@1x.png | Bin 0 -> 22725 bytes .../Printer.imageset/printer@2x.png | Bin 0 -> 59902 bytes .../Printer.imageset/printer@3x.png | Bin 0 -> 104044 bytes Inkless/Imaging/Dither.swift | 281 ++++++++++++ Inkless/Imaging/ImageAccent.swift | 75 +++ Inkless/Imaging/Raster.swift | 134 ++++++ Inkless/Imaging/RasterPipeline.swift | 151 ++++++ Inkless/Imaging/TextRenderer.swift | 87 ++++ Inkless/Printer/MXWProtocol.swift | 233 ++++++++++ Inkless/Printer/PrintError.swift | 48 ++ .../Printer/PrinterManager+Bluetooth.swift | 103 +++++ .../Printer/PrinterManager+Discovery.swift | 70 +++ Inkless/Printer/PrinterManager.swift | 430 ++++++++++++++++++ Inkless/UI/ImageSources.swift | 56 +++ Inkless/UI/PairingSheet.swift | 144 ++++++ Inkless/UI/PaperView.swift | 200 ++++++++ Inkless/UI/PhotoControls.swift | 256 +++++++++++ Inkless/UI/PhotoScreen.swift | 152 +++++++ Inkless/UI/PrinterBar.swift | 46 ++ Inkless/UI/PrinterScreen.swift | 142 ++++++ Inkless/UI/RootView.swift | 186 ++++++++ Inkless/UI/RulerSlider.swift | 64 +++ Inkless/UI/TextScreen.swift | 98 ++++ InklessTests/ImagingTests.swift | 44 ++ InklessTests/ProtocolTests.swift | 59 +++ Makefile | 19 + README.md | 22 + Screenshots/photo.png | Bin 0 -> 248680 bytes Screenshots/printer.png | Bin 0 -> 86051 bytes Screenshots/text.png | Bin 0 -> 66810 bytes 50 files changed, 4028 insertions(+) create mode 100644 .gitignore create mode 100644 .pre-commit-config.yaml create mode 100644 .swiftformat create mode 100644 .swiftlint.yml create mode 100644 CLAUDE.md create mode 100644 Config/Base.xcconfig create mode 100644 Config/Signing.example.xcconfig create mode 100644 Design/printer.svg create mode 100644 Inkless.xcodeproj/project.pbxproj create mode 100644 Inkless.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Inkless.xcodeproj/xcshareddata/xcschemes/Inkless.xcscheme create mode 100644 Inkless/App/Composers.swift create mode 100644 Inkless/App/DebugLaunch.swift create mode 100644 Inkless/App/InklessApp.swift create mode 100644 Inkless/AppIcon.icon/Assets/body.svg create mode 100644 Inkless/AppIcon.icon/Assets/paper.svg create mode 100644 Inkless/AppIcon.icon/Assets/ring.svg create mode 100644 Inkless/AppIcon.icon/icon.json create mode 100644 Inkless/Assets.xcassets/Contents.json create mode 100644 Inkless/Assets.xcassets/Printer.imageset/Contents.json create mode 100644 Inkless/Assets.xcassets/Printer.imageset/printer@1x.png create mode 100644 Inkless/Assets.xcassets/Printer.imageset/printer@2x.png create mode 100644 Inkless/Assets.xcassets/Printer.imageset/printer@3x.png create mode 100644 Inkless/Imaging/Dither.swift create mode 100644 Inkless/Imaging/ImageAccent.swift create mode 100644 Inkless/Imaging/Raster.swift create mode 100644 Inkless/Imaging/RasterPipeline.swift create mode 100644 Inkless/Imaging/TextRenderer.swift create mode 100644 Inkless/Printer/MXWProtocol.swift create mode 100644 Inkless/Printer/PrintError.swift create mode 100644 Inkless/Printer/PrinterManager+Bluetooth.swift create mode 100644 Inkless/Printer/PrinterManager+Discovery.swift create mode 100644 Inkless/Printer/PrinterManager.swift create mode 100644 Inkless/UI/ImageSources.swift create mode 100644 Inkless/UI/PairingSheet.swift create mode 100644 Inkless/UI/PaperView.swift create mode 100644 Inkless/UI/PhotoControls.swift create mode 100644 Inkless/UI/PhotoScreen.swift create mode 100644 Inkless/UI/PrinterBar.swift create mode 100644 Inkless/UI/PrinterScreen.swift create mode 100644 Inkless/UI/RootView.swift create mode 100644 Inkless/UI/RulerSlider.swift create mode 100644 Inkless/UI/TextScreen.swift create mode 100644 InklessTests/ImagingTests.swift create mode 100644 InklessTests/ProtocolTests.swift create mode 100644 Makefile create mode 100644 README.md create mode 100644 Screenshots/photo.png create mode 100644 Screenshots/printer.png create mode 100644 Screenshots/text.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..00c29d9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,32 @@ +# macOS +.DS_Store + +# Editors +.idea/ +.vscode/ +*.swp + +# Xcode +build/ +DerivedData/ +xcuserdata/ +*.xcuserstate +*.xcscmblueprint +*.xcresult +*.ipa +*.dSYM +*.dSYM.zip + +# Swift Package Manager +.build/ +.swiftpm/ + +# Signing: copy Config/Signing.example.xcconfig +Config/Signing.xcconfig + +# Local-only context: product and design notes, agent state, reverse-engineering +.local/ +.impeccable/ +research/ +/PRODUCT.md +/DESIGN.md diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..e58c03a --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,13 @@ +repos: + - repo: local + hooks: + - id: fmt + name: fmt + entry: make fmt + language: system + pass_filenames: false + - id: check + name: check + entry: make check + language: system + pass_filenames: false diff --git a/.swiftformat b/.swiftformat new file mode 100644 index 0000000..cd165dc --- /dev/null +++ b/.swiftformat @@ -0,0 +1,8 @@ +--swiftversion 6.0 +--exclude build,research +--maxwidth 140 +--wraparguments before-first +--wrapcollections before-first +--self remove +--commas always +--disable wrapMultilineStatementBraces diff --git a/.swiftlint.yml b/.swiftlint.yml new file mode 100644 index 0000000..0b63fbd --- /dev/null +++ b/.swiftlint.yml @@ -0,0 +1,24 @@ +included: + - Inkless + - InklessTests +line_length: + warning: 140 + ignores_comments: true +identifier_name: + excluded: [x, y, u, v, id, dx, dy] +type_body_length: + warning: 320 +file_length: + warning: 450 +nesting: + type_level: 2 +opt_in_rules: + - empty_count + - first_where + - sorted_first_last + - toggle_bool + - redundant_nil_coalescing +disabled_rules: + - trailing_comma + - opening_brace + - todo diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..9333590 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,16 @@ +## Code Principles +- **Simplicity**: Write simple, straightforward code +- **Readability**: Make code easy to understand +- **Performance**: Consider performance without sacrificing readability +- **Maintainability**: Write code that's easy to update +- **Reusability**: Create reusable components and functions +- **Less Code = Less Debt**: Minimize code footprint +- **NEVER write comments** - code should be self-documenting +- **Docstrings ONLY if explicitly asked** + +## Checking commands +After writing code, always run: +```shell +make fmt +make check +``` diff --git a/Config/Base.xcconfig b/Config/Base.xcconfig new file mode 100644 index 0000000..441bf58 --- /dev/null +++ b/Config/Base.xcconfig @@ -0,0 +1,2 @@ +BUNDLE_ID_PREFIX = com.example +#include? "Signing.xcconfig" diff --git a/Config/Signing.example.xcconfig b/Config/Signing.example.xcconfig new file mode 100644 index 0000000..8bde387 --- /dev/null +++ b/Config/Signing.example.xcconfig @@ -0,0 +1,2 @@ +DEVELOPMENT_TEAM = ABCDE12345 +BUNDLE_ID_PREFIX = com.yourname diff --git a/Design/printer.svg b/Design/printer.svg new file mode 100644 index 0000000..0435287 --- /dev/null +++ b/Design/printer.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Inkless.xcodeproj/project.pbxproj b/Inkless.xcodeproj/project.pbxproj new file mode 100644 index 0000000..7dbbb0d --- /dev/null +++ b/Inkless.xcodeproj/project.pbxproj @@ -0,0 +1,356 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 77; + objects = { + +/* Begin PBXFileReference section */ + A10000000000000000000001 /* Inkless.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Inkless.app; sourceTree = BUILT_PRODUCTS_DIR; }; + A10000000000000000000020 /* InklessTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = InklessTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + A10000000000000000000030 /* Base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Base.xcconfig; path = Config/Base.xcconfig; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + A10000000000000000000002 /* Inkless */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = Inkless; + sourceTree = ""; + }; + A10000000000000000000021 /* InklessTests */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = InklessTests; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + +/* Begin PBXContainerItemProxy section */ + A10000000000000000000022 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = A10000000000000000000009 /* Project object */; + proxyType = 1; + remoteGlobalIDString = A10000000000000000000006; + remoteInfo = Inkless; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXTargetDependency section */ + A10000000000000000000023 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = A10000000000000000000006 /* Inkless */; + targetProxy = A10000000000000000000022 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXFrameworksBuildPhase section */ + A10000000000000000000003 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A10000000000000000000024 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + A10000000000000000000004 = { + isa = PBXGroup; + children = ( + A10000000000000000000030 /* Base.xcconfig */, + A10000000000000000000002 /* Inkless */, + A10000000000000000000021 /* InklessTests */, + A10000000000000000000005 /* Products */, + ); + sourceTree = ""; + }; + A10000000000000000000005 /* Products */ = { + isa = PBXGroup; + children = ( + A10000000000000000000001 /* Inkless.app */, + A10000000000000000000020 /* InklessTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + A10000000000000000000006 /* Inkless */ = { + isa = PBXNativeTarget; + buildConfigurationList = A1000000000000000000000B /* Build configuration list for PBXNativeTarget "Inkless" */; + buildPhases = ( + A10000000000000000000007 /* Sources */, + A10000000000000000000003 /* Frameworks */, + A10000000000000000000008 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + fileSystemSynchronizedGroups = ( + A10000000000000000000002 /* Inkless */, + ); + name = Inkless; + productName = Inkless; + productReference = A10000000000000000000001 /* Inkless.app */; + productType = "com.apple.product-type.application"; + }; + A10000000000000000000025 /* InklessTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = A10000000000000000000028 /* Build configuration list for PBXNativeTarget "InklessTests" */; + buildPhases = ( + A10000000000000000000026 /* Sources */, + A10000000000000000000024 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + A10000000000000000000023 /* PBXTargetDependency */, + ); + fileSystemSynchronizedGroups = ( + A10000000000000000000021 /* InklessTests */, + ); + name = InklessTests; + productName = InklessTests; + productReference = A10000000000000000000020 /* InklessTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + A10000000000000000000009 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 2700; + LastUpgradeCheck = 2700; + TargetAttributes = { + A10000000000000000000006 = { + CreatedOnToolsVersion = 27.0; + }; + A10000000000000000000025 = { + CreatedOnToolsVersion = 27.0; + TestTargetID = A10000000000000000000006; + }; + }; + }; + buildConfigurationList = A1000000000000000000000A /* Build configuration list for PBXProject "Inkless" */; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = A10000000000000000000004; + minimizedProjectReferenceProxies = 1; + preferredProjectObjectVersion = 77; + productRefGroup = A10000000000000000000005 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + A10000000000000000000006 /* Inkless */, + A10000000000000000000025 /* InklessTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + A10000000000000000000008 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + A10000000000000000000007 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A10000000000000000000026 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + A1000000000000000000000C /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = A10000000000000000000030 /* Base.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_OPTIMIZATION_LEVEL = 0; + IPHONEOS_DEPLOYMENT_TARGET = 26.0; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + A1000000000000000000000D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = A10000000000000000000030 /* Base.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + IPHONEOS_DEPLOYMENT_TARGET = 26.0; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + A1000000000000000000000E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = Inkless; + INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "Inkless uses Bluetooth to connect to your thermal printer."; + INFOPLIST_KEY_NSCameraUsageDescription = "Take a picture and print it right away."; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 0.1; + PRODUCT_BUNDLE_IDENTIFIER = "$(BUNDLE_ID_PREFIX).inkless"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_APPROACHABLE_CONCURRENCY = YES; + SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 6.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Debug; + }; + A1000000000000000000000F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = Inkless; + INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "Inkless uses Bluetooth to connect to your thermal printer."; + INFOPLIST_KEY_NSCameraUsageDescription = "Take a picture and print it right away."; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 0.1; + PRODUCT_BUNDLE_IDENTIFIER = "$(BUNDLE_ID_PREFIX).inkless"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_APPROACHABLE_CONCURRENCY = YES; + SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 6.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Release; + }; + A1000000000000000000002A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + GENERATE_INFOPLIST_FILE = YES; + PRODUCT_BUNDLE_IDENTIFIER = "$(BUNDLE_ID_PREFIX).inkless.tests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_APPROACHABLE_CONCURRENCY = YES; + SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; + SWIFT_VERSION = 6.0; + TARGETED_DEVICE_FAMILY = 1; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Inkless.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Inkless"; + }; + name = Debug; + }; + A1000000000000000000002B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + GENERATE_INFOPLIST_FILE = YES; + PRODUCT_BUNDLE_IDENTIFIER = "$(BUNDLE_ID_PREFIX).inkless.tests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_APPROACHABLE_CONCURRENCY = YES; + SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; + SWIFT_VERSION = 6.0; + TARGETED_DEVICE_FAMILY = 1; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Inkless.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Inkless"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + A1000000000000000000000A /* Build configuration list for PBXProject "Inkless" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A1000000000000000000000C /* Debug */, + A1000000000000000000000D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A1000000000000000000000B /* Build configuration list for PBXNativeTarget "Inkless" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A1000000000000000000000E /* Debug */, + A1000000000000000000000F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A10000000000000000000028 /* Build configuration list for PBXNativeTarget "InklessTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A1000000000000000000002A /* Debug */, + A1000000000000000000002B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = A10000000000000000000009 /* Project object */; +} diff --git a/Inkless.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Inkless.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/Inkless.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Inkless.xcodeproj/xcshareddata/xcschemes/Inkless.xcscheme b/Inkless.xcodeproj/xcshareddata/xcschemes/Inkless.xcscheme new file mode 100644 index 0000000..207191e --- /dev/null +++ b/Inkless.xcodeproj/xcshareddata/xcschemes/Inkless.xcscheme @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Inkless/App/Composers.swift b/Inkless/App/Composers.swift new file mode 100644 index 0000000..11eed58 --- /dev/null +++ b/Inkless/App/Composers.swift @@ -0,0 +1,195 @@ +import Observation +import SwiftUI + +nonisolated enum Look: String, CaseIterable, Identifiable, Sendable { + case photo, soft, graphic, smooth + + var id: String { + rawValue + } + + var title: String { + switch self { + case .photo: "Photo" + case .soft: "Soft" + case .graphic: "Graphic" + case .smooth: "HD" + } + } + + var style: PrintStyle { + switch self { + case .photo: .dots(.atkinson) + case .soft: .dots(.jarvis) + case .graphic: .dots(.sierraLite) + case .smooth: .smooth + } + } + + func settings(brightness: Double, rotation: Int, inverted: Bool) -> RenderSettings { + var tone = ToneAdjustments(brightness: brightness, inverted: inverted) + switch self { + case .photo: + tone.contrast = 0.15 + tone.sharpness = 0.2 + case .soft: + tone.gamma = 0.1 + case .graphic: + tone.contrast = 0.4 + tone.sharpness = 0.45 + case .smooth: + tone.contrast = 0.1 + } + return RenderSettings(style: style, tone: tone, rotation: rotation) + } +} + +@Observable +final class PhotoComposer { + static let proofDots = 216 + + private(set) var source: CGImage? + private(set) var raster: PrintRaster? + private(set) var preview: CGImage? + private(set) var proofs: [PrintStyle: CGImage] = [:] + private(set) var accentHue: Double? + + var look = Look.photo { + didSet { + if look != oldValue { + applyLook() + } + } + } + + var settings = RenderSettings() { + didSet { + if settings != oldValue { + render() + } + } + } + + @ObservationIgnored private var field: GrayField? + @ObservationIgnored private var fieldKey: FieldKey? + @ObservationIgnored private var renderTask: Task? + @ObservationIgnored private var proofTask: Task? + + func load(_ image: CGImage) { + source = image + fieldKey = nil + accentHue = ImageAccent.hue(of: image) + applyLook() + render() + } + + func clear() { + renderTask?.cancel() + proofTask?.cancel() + source = nil + fieldKey = nil + raster = nil + preview = nil + proofs = [:] + accentHue = nil + } + + func applyLook() { + settings = look.settings( + brightness: settings.tone.brightness, rotation: settings.rotation, inverted: settings.tone.inverted + ) + } + + func resetTone() { + settings = RenderSettings(style: settings.style) + } + + private struct Rendering { + let field: GrayField + let raster: PrintRaster + let image: CGImage + } + + private struct FieldKey: Equatable { + let tone: ToneAdjustments + let rotation: Int + } + + private func render() { + guard let source else { return } + let settings = settings + let key = FieldKey(tone: settings.tone, rotation: settings.rotation) + let cached = fieldKey == key ? field : nil + renderTask?.cancel() + renderTask = Task { + guard let result = await Self.rasterise(source, settings, cached), !Task.isCancelled else { return } + raster = result.raster + preview = result.image + guard fieldKey != key else { return } + field = result.field + fieldKey = key + renderProofs(from: result.field) + } + } + + private func renderProofs(from field: GrayField) { + proofTask?.cancel() + proofTask = Task { + try? await Task.sleep(for: .milliseconds(150)) + let crop = field.centreCrop(side: Self.proofDots) + for style in PrintStyle.all { + guard !Task.isCancelled else { return } + proofs[style] = await Self.proof(crop, style) + } + } + } + + @concurrent + private static func rasterise( + _ image: CGImage, _ settings: RenderSettings, _ cached: GrayField? + ) async -> Rendering? { + let prepared = cached ?? RasterPipeline.prepare(image, tone: settings.tone, rotation: settings.rotation) + guard let prepared else { return nil } + let raster = prepared.rasterised(as: settings.style) + guard let rendered = raster.makeImage() else { return nil } + return Rendering(field: prepared, raster: raster, image: rendered) + } + + @concurrent + private static func proof(_ crop: GrayField, _ style: PrintStyle) async -> CGImage? { + crop.rasterised(as: style).makeImage() + } +} + +@Observable +final class TextComposer { + var text = "" { + didSet { render() } + } + + var style = TextStyle() { + didSet { render() } + } + + private(set) var raster: PrintRaster? + private(set) var preview: CGImage? + + @ObservationIgnored private var renderTask: Task? + + private func render() { + let (text, style) = (text, style) + renderTask?.cancel() + renderTask = Task { + let result = await Self.rasterise(text, style) + guard !Task.isCancelled else { return } + raster = result?.raster + preview = result?.image + } + } + + @concurrent + private static func rasterise(_ text: String, _ style: TextStyle) async -> (raster: PrintRaster, image: CGImage)? { + guard let raster = TextRenderer.render(text, style: style), let image = raster.makeImage() else { return nil } + return (raster, image) + } +} diff --git a/Inkless/App/DebugLaunch.swift b/Inkless/App/DebugLaunch.swift new file mode 100644 index 0000000..00d1421 --- /dev/null +++ b/Inkless/App/DebugLaunch.swift @@ -0,0 +1,53 @@ +import ImageIO +import SwiftUI + +enum DebugLaunch { + static func apply(to model: AppModel) { + #if DEBUG + applyContent(to: model, from: .standard) + applyFlags(to: model, from: ProcessInfo.processInfo.arguments) + #endif + } + + #if DEBUG + private static func applyContent(to model: AppModel, from defaults: UserDefaults) { + if let path = defaults.string(forKey: "image"), + let source = CGImageSourceCreateWithURL(URL(fileURLWithPath: path) as CFURL, nil), + let image = CGImageSourceCreateImageAtIndex(source, 0, nil) { + model.photo.load(image) + } + if let look = defaults.string(forKey: "look").flatMap(Look.init) { + model.photo.look = look + } + if let algorithm = defaults.string(forKey: "algorithm").flatMap(DitherAlgorithm.init) { + model.photo.settings.style = .dots(algorithm) + } + if let text = defaults.string(forKey: "text") { + model.text.text = text.replacingOccurrences(of: "\\n", with: "\n") + model.text.style.checklist = defaults.bool(forKey: "checklist") + } + switch defaults.string(forKey: "section") { + case "text": model.section = .text + case "printer": model.section = .printer + default: break + } + } + + private static func applyFlags(to model: AppModel, from arguments: [String]) { + if arguments.contains("-unpaired") { + model.printer.forgetPrinter() + } else if model.printer.isDemo { + model.printer.connect(.init(id: UUID(), name: "MXW01", rssi: -48)) + } + if arguments.contains("-pairing") { + model.isPairing = true + } + if arguments.contains("-printing") { + Task { + try? await Task.sleep(for: .seconds(2.5)) + model.print() + } + } + } + #endif +} diff --git a/Inkless/App/InklessApp.swift b/Inkless/App/InklessApp.swift new file mode 100644 index 0000000..e190e02 --- /dev/null +++ b/Inkless/App/InklessApp.swift @@ -0,0 +1,59 @@ +import SwiftUI + +@main +struct InklessApp: App { + @State private var model = AppModel() + + var body: some Scene { + WindowGroup { + RootView() + .environment(model) + .environment(model.printer) + } + } +} + +@Observable +final class AppModel { + enum Section: Hashable { case photo, text, printer } + + let printer = PrinterManager() + let photo = PhotoComposer() + let text = TextComposer() + + var section = Section.photo + var isPairing = false + var failure: PrintError? + private(set) var completedJobs = 0 + + var printable: PrintRaster? { + switch section { + case .photo: photo.raster + case .text: text.raster + case .printer: nil + } + } + + init() { + DebugLaunch.apply(to: self) + } + + func print() { + guard let printable else { return } + guard printer.link == .ready else { + if printer.hasRememberedPrinter { + failure = .notConnected + } else { + isPairing = true + } + return + } + printer.print(printable) { [weak self] result in + switch result { + case .success: self?.completedJobs += 1 + case .failure(.cancelled): break + case let .failure(error): self?.failure = error + } + } + } +} diff --git a/Inkless/AppIcon.icon/Assets/body.svg b/Inkless/AppIcon.icon/Assets/body.svg new file mode 100644 index 0000000..08bb596 --- /dev/null +++ b/Inkless/AppIcon.icon/Assets/body.svg @@ -0,0 +1 @@ + diff --git a/Inkless/AppIcon.icon/Assets/paper.svg b/Inkless/AppIcon.icon/Assets/paper.svg new file mode 100644 index 0000000..07d09ee --- /dev/null +++ b/Inkless/AppIcon.icon/Assets/paper.svg @@ -0,0 +1 @@ + diff --git a/Inkless/AppIcon.icon/Assets/ring.svg b/Inkless/AppIcon.icon/Assets/ring.svg new file mode 100644 index 0000000..8273661 --- /dev/null +++ b/Inkless/AppIcon.icon/Assets/ring.svg @@ -0,0 +1 @@ + diff --git a/Inkless/AppIcon.icon/icon.json b/Inkless/AppIcon.icon/icon.json new file mode 100644 index 0000000..1293daa --- /dev/null +++ b/Inkless/AppIcon.icon/icon.json @@ -0,0 +1,83 @@ +{ + "fill-specializations": [ + { + "value": { + "automatic-gradient": "display-p3:0.38000,0.33000,0.98000,1.00000" + } + }, + { + "appearance": "dark", + "value": { + "automatic-gradient": "display-p3:0.13000,0.11000,0.36000,1.00000" + } + } + ], + "groups": [ + { + "layers": [ + { + "blend-mode": "normal", + "fill": "automatic", + "glass": true, + "image-name": "paper.svg", + "name": "paper", + "opacity": 1 + } + ], + "shadow": { + "kind": "neutral", + "opacity": 0.4 + }, + "specular": true, + "translucency": { + "enabled": false, + "value": 0.5 + } + }, + { + "layers": [ + { + "blend-mode": "normal", + "fill": "automatic", + "glass": true, + "image-name": "ring.svg", + "name": "ring", + "opacity": 1 + } + ], + "shadow": { + "kind": "neutral", + "opacity": 0.35 + }, + "specular": true, + "translucency": { + "enabled": false, + "value": 0.5 + } + }, + { + "layers": [ + { + "blend-mode": "normal", + "fill": "automatic", + "glass": true, + "image-name": "body.svg", + "name": "body", + "opacity": 1 + } + ], + "shadow": { + "kind": "neutral", + "opacity": 0.5 + }, + "specular": true, + "translucency": { + "enabled": false, + "value": 0.5 + } + } + ], + "supported-platforms": { + "squares": "shared" + } +} \ No newline at end of file diff --git a/Inkless/Assets.xcassets/Contents.json b/Inkless/Assets.xcassets/Contents.json new file mode 100644 index 0000000..46cba7d --- /dev/null +++ b/Inkless/Assets.xcassets/Contents.json @@ -0,0 +1 @@ +{ "info" : { "author" : "xcode", "version" : 1 } } diff --git a/Inkless/Assets.xcassets/Printer.imageset/Contents.json b/Inkless/Assets.xcassets/Printer.imageset/Contents.json new file mode 100644 index 0000000..d865203 --- /dev/null +++ b/Inkless/Assets.xcassets/Printer.imageset/Contents.json @@ -0,0 +1 @@ +{ "images" : [ { "idiom" : "universal", "filename" : "printer@1x.png", "scale" : "1x" }, { "idiom" : "universal", "filename" : "printer@2x.png", "scale" : "2x" }, { "idiom" : "universal", "filename" : "printer@3x.png", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 } } diff --git a/Inkless/Assets.xcassets/Printer.imageset/printer@1x.png b/Inkless/Assets.xcassets/Printer.imageset/printer@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..a7bad48e0c36c3bb8b741d3d61401106c201f7c7 GIT binary patch literal 22725 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 D=UCh! literal 0 HcmV?d00001 diff --git a/Inkless/Assets.xcassets/Printer.imageset/printer@2x.png b/Inkless/Assets.xcassets/Printer.imageset/printer@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3cf289be8888f550f01ee182b514422c9a6b8108 GIT binary patch literal 59902 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 Qj0gNQp6P%qRjk7PA7&WN%m4rY literal 0 HcmV?d00001 diff --git a/Inkless/Assets.xcassets/Printer.imageset/printer@3x.png b/Inkless/Assets.xcassets/Printer.imageset/printer@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..0cceb25280b0f5f9d89efb1f31534d701a4d5092 GIT binary patch literal 104044 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

GM>nlpfhEL;R(q zhd?YYPUsTS03B{d=)JCS43+%vHLg{{#Z>CtSR4`AU);m2W&A8MaCB(j99X(Bv6vc9 z@W7KK`uz-FV>4EXJbAuB1o+>L_*45vUA{vDp1;qMzN`Sj=YiBS!Rg?}6)`@fw2-5k zt&q_a*S^qcMyV@izNr+QZPu7~ct}a1&es_;lygZo1_>y{#nB?U$Vl-fPGY3g6+7k8 z;SbP_yxYiubz2z>rg-&sKLH=r*Be8IOqav1oIE|4fDJ+YKQ&H3ydU|B?+r zg;HneEP#B}5CqAD(2x3q>$%8ylm}Curn`~sQ@=M5_kAX)d=W7nX{J6;)L+whJ{D7= zFRPmn3jD`UtZ~N#s@;i~eT{ZkpJ#W)CHfQ#UN`6XB^L|_AWqh<3F(cstLauOnF0nT z-Bxv-bFK}qb431^U1(Ek{%yNiiHS&tFD5>RyPxoJPg2xV1MC|71pwDN$AZtdr*LjY zM~Xvq;t+RgmdanO<@|ixj?%wVe%T=sUGNs?jIbBAxxwIaxY{b^UbCO>pXb5;0mC*V z)GP9vSNiSHf@*HY#&|ywzRvzt;##fmO2!=zdIoDii)SG)0zcZtba!Xx6D+F#zSL)b zL);JI5kyA!PnH$Ob2_XA-^hTJf6NGyEz|ham$cSZPUPe&op8zsh3=>z_y%t?-MrbwLGkDN? zV~*rpUWqT9$5nni@iKjlr@y7SjW**%5R;8pe4jmC)Z%3d8W5b)zuQY-T%SStb~|t2 zxcR6CQZx_C|NSaEON{Y1>{5GSN0h9;u4F+3)EB?*QY6$KhJB$4P$p?%);RN;=Om86 zC7$`KACtzl)b!aO9)%?;aezDC?CI=pVU+0H>nJ#jY!BfPVP5LY0%hqkOk<8 z{zcB+758oJe>*7esQP-ZXbmx{r_|(*n^_R~N=Q7KNO53~Qdp&!@|qJglZY&(BA!^bxStlE~7!EQI7w};kswuYCtc|lhE1gYPn zp#AWQL3o5;I>!@g9c8OYq6Yt=B)E_@V#lk2#|?pl^&SWVY_)^scM zM+thov8_O7=TiXZ72WcBoSg}nLi2{Wkj!%y^Eh;MnIYSUw`5rv>YntT1t+a_{7R!J zo?Bsl^9$e?fA=7s-g63unUn;A9Z4tf9h6^1+MLA**l8i9IBm8Osi;RyZpFv@@S>TPTL zng!7!r6kL}0c$3FiI{E0!Zuj6kLd5v!cKz^YWeD0WnP7Hkt>P>6I+*mA|ZNQeph6D zT37hc1nf%v=X9hs+=vP0e}H?LOy7ivV)AIfi5@6T!oR`&3-fF2N~}sNlO@y|vfM3k znzT;%8GF$qE^w*PkKQ`^Uc4i=&}zo$6Ul*-?tUV2Vm) z?#8s!)?w^x-UAn9H)~>)$ST8`C9adL9<$19N`zILv>T>?!|*EUrkI_UC5^qz_S80g zmx#h|lNcX_fL)57D*a$wzsK8@fCFq@-pnq-5v$6bCF(QLs3?3*qtzL+?ND^TAd;T& z8RNdmMdpXsQiBeVu&xptl?nqh>myHw$P7dzKc(NN)=dAETqe(mS>K}CDC5cz2?^51 zh|ey}ZU~Er2-`N&lz-wz4_^*0)L9)qW@Y(@ESce@=zi%X={CX)%IV)!xrU~pzml_A z*^UkLf^?kAngyVP=USq1&&Vn57`B$c*a>AA+z`Dns`v$sHu>3iVo2inNv2w&1f@p+{f!1qi8wte$|CQHXFbA zaWfMV12{)G&BWEA=I=yJd&2xWpO-V7&mW&j$&4Kg90FhDgakEwU-R-`WyB zYAU{^lDMiXZ07Ic4bGNj!X@hp-lhvQO?Zl-4mwFw&ZvJ{e&fREGZ{)qQokCu%_Sqr zm-2u}B#30RX6CBl0!J4CD<>%6t%+dsj=Alzz9w&k6$I~(fb==$tg!gR5cACM3&PRR z+@#Z9zP)6BO9vamPZ~oq;)MmD(N{8k{sL20;TbJg zUo_>(k0qPF&%P=x-bwlR`TET_!9X$`fH0FI=M5J~HGtWk>mnh=Wc7N)EOP%1eR9T3 zxq3evrug_M7UZPg;?BSqH$KG)4g>LU5q;Kx#2R+CxiB5hO*e?ua06|((|@A{PWd@P;`Ufgt+{X<`s-D{C)6&S~38=E_;PB zoF;IljKwcgG2FfiYeg{$v{15q%+Fm@SI!CJ@NdWRT=U{FEXc^9!W{o>9|;Et^$tpp zs)Kxvd>CQiVH}XySVvOKLC}a{KlEWpGyScYA$?W+N6Cz&P6)d3N(gWy2Q=QfbN9-s| z+2<0-zZKPhMN3+KGx;r}Z<}J9+(K9i)5WY^-(%S>-`<)_Cbf~8P2Cvak&)(LLm*i) zTfq|fU!hJtIe%eFx6p}%Nn>PNrFA6=9?o0`CD&=$xJswwXgJQTG~aSOvMW8!wjK7y zHMQ{%c|#p~gDXnFqhd{{3-+)HuO@GLxA2zz66Wuf5UR}Zo}MS3EnWFISJs74=gFNj zheucM)T7_GG+b_{I(Z7;#snoasb)dOK1Qhmp!uE`cS%fRrGnJT=c)69?4Bsk>|q~qo}yu*70w{TE;J7)zrX^A z&|ZU18DH|>7%sO{Y2gZ=P%~RPmZ`n=>G0tbQ(UrAjZFl0X)ddvOzD;giMBY!{vOQE z%F6GgpdDuP{xGX!azukK_Z6u{BRY&^xZ@iB`t_RRY_%^az!{tQ`*hDSM_+GLZr@ax z!7GRp)6d`iJKWIXE|WDhv2cjo09vuh872%P>aAA^#xaW$2IQS>sd!uKQy{X}Hi!w# zYQ-E_rK6n-1JkzQ-O>*KfKjxGZQ32ZQIl`1fmmPCKMkts+syFK)(sV23*~C1cGYgz zetU1Da!HlC!;XjA03&cUC*$nUrw|W^j&={e()}!g?4rZYOs=Bj>(!fo%$Yx_8}ai$ zaPd)Xwp)YVn{9fB3G1r0gSaO$;4(*$_~LYrgsrahyB)8qB%KwCm=C-dB1#VSD82SH zY3KhLVk##7TPl#0Dv>&w5$2umk~mN_5+>m_y~?4OuB+kxvQPBE4cINyB{1z*$>)1# z{~tX{IsZQDlcCrnhQt!o-hTiatx6G6u~1aze@nkg8oI+-!quk`^0|1HI`~T}ok_3E z!%Fl_2yHToCCf4PcJG8A)zUTkI8t=N$Ij-PEBft>lTU-fsoD;)y*cB|-&upP!S_vjly9KT3OFctf6~KMQ(o^IevgeTnVW$A zTfUL4carm=-mfY(4uA$YNnh@mkhi@%;`Q+JvbW2hQd#>uE}Dka=W@6xwqLa@95=2tmo z*+anSrELO{4o=~>?&AfL!ACt7KoyD<81jeS4%P|WpnU5`tsJd`xr4NtL;{-xIY_;f zrwJ3-0&-y-n#5q-K?Ch{QfNpX`Z*~0zfbZtMIi-`^B8c$ z>SN77K;%i9?*f0V6Jq&d8sTtRNYv?-bj5!C3L_vH3Xf&QTo(Z$Ll0D)yD;-{7!H(q z{LKLdlFE9DK`T)rDruT8)#ZrF>-2tmU;GWi1RtXJ4n)T_jW?HEZIAQ7hr^$A6l@qIL(T>N=|EfK@0F<83wY&WvTmWPE=V#`F;lYKc6Mbv0 z&)b*B-wET`x~=#)|3?-wPR4{IL1{7cB4p2!qWByLlSNKcD;ob71#&^dy2_ZekIBSg zbe0X!lNFOe^|%LZW5hAPK-!CRC|H+^C(lmPR=L|<(@`C4lRt^ujUBmd(;(wBBVT( z{Blf>>|Y#-Z58~o-p;gAY|xLZ9xWv*-xpgiXZPlfL+VNATb;o@bOF1{HO=*s9B$`M z5sPJ=hB2zc$An#k#V|5YFhpw*y0sM8lI<@RjcE1>{G`OXQWDOaF~PxFUJ-OxDto!;~wDj_a=Q1KCPT z`n5yS#-YLWRY#&At?4tAB%?op*h$I(;r_IP?5o3v?8HrteEqp!%t=d8cog#j!&@eJ zFPdqI!@M)prcAEciht0jUrc?V-{)_=Mux{E+M3&IdW8Cy0zzw=)2+lQi}%ZCJnkX+ zJ3J&xn=|Nfg);`{dZjXzzYLs}{!$qhQC(n%V=WVyn9i12y7hr+;znA#kY7qZT#%+Z*M>jd_ve?b~4I_ zD!Gx{VC`c+8N?r=jLo_I`Hu9A{SlMy8(ZBk;WlcVJF8|BLO|I)L$9u3$h zkN)TQNJB5jOjuPA$u?s(jVCJdehi#H4Y;@#CP#1{APc2_zLJNp(w1HJWuV(JXcCi| z|135tweJDMmJid!&{_#6DnHQ#$}1oL1yG=C%xr^`rraA720g}7otwBI*{gTQ$(2t> ztXeMYV*^y9GG773CdVh-G3;eC^{0*v`&`K0Pgm_Pj5=TJUpx2LxPoQEROB6O#87oo z_-{~q)b&{mu6e&)c%>MLm(}51PIsh?ixhQf7euuWE>m#q1QkU z!zKW$#V5O!OblSDv34Jl;?oK&K>YtJKmxC)cGv6w%SR3_xQRd!$fo{cg6d-`{#1Bo zIY|CT&p!ZSrGsY4^S-&8q^-6IJaj7Yb(&P_P=SBOXxEAa=hDr#jZ0qxx0rzU&veHoZYQmDJqIiDW2T@j0VSeXcf( zc%ZIi4RzznqVz!BkczZcQ~4hZm68O}`;*n%V{hNivASfK#?+(1Q8E+6twoP%uwd9` zu1KBtE@i*zJo{Tm4aI9QBc`|PEhiQ@<@5mut~evhsL>>G6y5uXSijP1Mh_Q#09&SXxa?DSPm@sOG9l4M z>C=ktXiG~H$EYYxIX>^+cS__29s8p{hF$;wSP$^`3XR1l`xWYVr@ z%Ft>?R9H*M96ueiAQ#lG9vKAk?|}GXegtZacI42T4KCXOkAWN@)KMdj8-nI=D>#Nt z-y4*@v9;+KO6&JbFs@v}eGKY<>*K^G_EjfMBaYAl0m*U&(3<5+)7SQ`d?>RBSS} zj3w2}8tXiD>s=SKyl#{+RyV65z7=*?iq`8dDwXMNX2y;vmtZakiS%RS{l?7zdG~XZ z8u1u`iKLKEK&S9<&=X446S#+OGQeTiMs4A^{?J}Y=le1fa%**cShaXqmm+a71&e@T z(xO*he02$hvVNHBHuHF`_>4*0tSvA$&glSDtr>H(PKkWo)P)3+d+njChJ(J=J%4wbg5HV*`Y-I8jM!@(=^Nv~QD zz1Tfva~x97(+6sa*b!^lLB^njGDaES<-XM2{_#1UaWj036VZH3aW85ya>{9NG;A8= zcXPeP`Ni5JrN0Grou7orWJfKoXs+_XaGE>s&L-+8WgxY){}IL6i_fm zq3PGXIa&O)E7f04CbMKHQh%~LVRaFj;)MLF*f`}gXe4N^8H>5@M6bjJAQ961AW3;K zjvoJiG+kqKUGLMqNg7*?oyLuA+qP}nw%OQ5V;hat*j8ivz4`su`{k~6zn$}(d1m(P z*)t<)vpBc{b`^U{N&N^0A?3L=ue}qnDV~M=*8*mrBc^z?O|fO|31wW=CkSwU7VCvGSh67%a*qD zq%poDxZFF0uSFe|=1-RIJ?JjaY<9eWCr*H&LpAu2AeoVmfBQF$y{;RbHt?Nd;V7hh zI`k6D_3-(TsTt<|VG|z#Ll$by;n+A(Y-)0E%HApD+TYEhKyF(Pd z2N_`F<*vBfD9FJ23$YQgqa3%V%+AT4u+?li9gQ_7fay!tg7Ju((d+{5%I+ z3w_ZEwue>;))9jg5yX32W8exi^LDq=ejR2^Gy|khmgEJX96$`nKp-2i!csAVsaFp- zIlLWDX@%esz^}6uC*Y@^&?v8oxSfHutTLV# z&y9-mHM}*~xD?X}Pz8Q_cOTF@GWVdJd!Ver;0%ch=`hUah5`ky(N>Id>@UeoNSC0I zP^R=kemiYtC4ZA#oV%SmKD%l@z0pABRBh?b0ZI^KF`nRI!Xx5g=3^IV79CTD`ou_6 zBqm%f?5)Pfnr^Ig9$%LaByB|x9^{#*VwzEtU^b*C>V_=jcSC<9s}K);9YOKC#)Ab{ zzDD>T8jCrmME9#(+R+jKYOb*8H6n_+z&%q)77qx(;Zy}Ob~DP?tqbdZnXp(yhZQ>y zqE)uo&_z8HOu2ZhMa@d()FfHGQR(6nBrqpJW=SMu{(!nXp1F?Jbk1!wY7*QT6CWL`bXWf zbDU7}Ms(0YG4~g{Qk^Y5(xu5 zr^_mRk6rML8S?JL`5T8|7vPucw;H|x9zlUFEg8(*`C}K3P=zu%GI&lRX|8~dF`qV^ zU2tX{~tcgSXQR774kxCaxQ~aOi4~0Qm4uS^s+P}mcGcLGC>7no# z%S|bNOTyLKzMuK?#?4eu)Xb6()caC8sOk-o?ZWL#h70%Y>5$mSeS*Yhw`-Jl-`22z zuh#k0QSYks|81iNaWng(!!>CNz(GyMNT!O^smCNz7Asf^1gl>FmQxQW?WqWSgv4Qj zG)>CY)_7eZzrG><1QW?4^jFqF-c5*JyF8a=$c#Sf*KE-tzL-DR4`Bk{Ha2+SUh7r; zHp{*V^A20)txrS7zV~b%Zx>fMXc&YZhm2_oo{YI}BLERom|`~9N^I3X#;A<~(v=n8 zgtgVy&vA;W)u{l>%xINnhZn+ZlpnD=XkZYw>a9F2XO#wLU!8(>tD-QJffehO6f%a4$2MLu*y?ft$r1l)AdR zbR5ptyuA)YH^Au9Wbc~StwJs3xXXuIx-7ZtJ7Xtux@;+>%bw#x?92W^SXj$d*sZnP zl|E8f;<~sbv!Vey0DN{q*P`ssWwnE5+cI-gmtuVE#Wh1kXi9>53@4(|wz5P7)IQV{ zi07#^1s*-(Y4DYEHDa17JZ)Okqt5BUA0CU}kriv5y=zu2 zLw;4JMdz<6Go)yy96Gb?%kLA>I$;<-UdCm0*Qor6F;kM#GjnIk`&=CAXa3I1$sU~o z)%K?#0~9*Df>b;MV8vK9KOI8YPfzlku0SgDGbN=k?MQ=;1o9h#$!u?LyVxI4VpJV5 zlPzXj&PvDV*kABlC|@`4hcxhqKz(=8L}wE-x`eRVg+OC*vmINx%dB1oyiHa$-qX4w z`CqHmrTsmJ?qR?c?yZ1QieMDrGV0cJy0wE#*B{kObS=cm96PO|5esh1ja>`~AZl*S z*AR4V^~HK$J0L^A1^<|2A7vn`n8L`7bH`ibOW4Zqx8x9?5%#ysP$7<075dCu^n~~K z;9`U}BibY-RYb6Wsn5mdh|QX+T^i7L`hJBnyyZ$_h^F%Z9ficq!rh5@Lf$4lllkM~ z)|s<0ISL!)gxxCHBZ1dbCy)G}iRGG z5hK5Ivb~yYT=`KTql4qQ2EEx2AkuuU!({2n{M=5N(&`2LFgc4KE)Lyl+9<;s^fFdw+i=?rBo@9K2uPRRt(V3 zHDdkklWFav#`A?LK|8MzC(P4KHe9*_DWOo0ZV&Zt82~a_-ECG`(9s-_QP*jnGl=vk z3uz3AfavOGFrqV2t#c(hu*fIHX1`;bUzlESYuuzWzpbZl4YXzwq;o)kx!w5}WPb?g z5V*mW*I-YK3!Gz;el9Fo7I;mDjcd@2HA+l0hXMVUAQgteh?tD^8<$$_sdFDzBSyA# z9L{|>JKF)atnthnni+icszd-1p=N0>vBk~p5lPa+tj8%`mc0ujgN8W3CSlaBji7#x z+juGbwb4@=j?QZLm3y#FwJJ>cl*o=5kVOvOPCC5AIy{Xp5#J8 z%d|Ij(JJ6$gF)*c+=pmM-zkyKjId8J3>tmb<6~z=H^qWmjc6bk@89W+NQa8=r1{`L zOiGbRQ_eEf?+}pdVV*%1Sjl7x7}$49g48_R-sCNMajdJ5Pv(T!Q|t5qeqYG1^9yMWfGCd#=R!%bNcwh({&5XaPr!v%HC)-~Z!asw@T<%gF zXsdIVC!IV&Q%?Ul@3LsRUC2N4p8Di2N7ccBvx6X;GB_8ay{kDB?MU!;v*Sxp9%;k3 zaBuw%)8-5(uUs@5F(#cL9d__m7YVx-nnyOiT0_)xRTKF-^NMKlcLuYd6)&`Oh;s&s zu+cmoJ*qyag-~$dd;b@-+CCd`K@k^&??u!0*B*v6y{QUkG`nXHpoq8AILLEOx=@a( zUTf&kEHYwg+}sgllu2_qcXo<@o2Ec?tHYEFxJcezWIps`?aWA*{)GlR4N*Fg<&mv^I2)j$o>2Ix6>Yg#TPSTqqL)xVF&I$o(yDWBikpEkez}k4m zB-_A2oP$xks?`Ei;GnPQ5`^MAtV} z_r}7k#%-^PI}1k^pykYGqlP#8K<7$4-7 zy;OjN2L%3zGONX=ru^A-MwDP%?Wl$)u1DK;T*yZkRL5jB6P=!>K|Okn_L3VIrHzVwm@!a6f6#Q~v8m;aayPdJb%zmh; zQCC-|Htg7Q#5wth)W20WzO`XPwz4;ficO2OZ^r7OFl z*GpS+D}ojA3l#r~$8F#gt&TlI$fWJVML*Y{j?b#02ya#A?Ct&VW;`Xxj8jEDGBoad zH^ABCM}mr_NM22)VJF$C9s=#*_4suNFX!>G%l>?9GTNO#i2$yldaEYm5ANa`r!)AmJIt{* z?OTWYS{P6vZ_S6IE~dT%35SXkJ(0#@Yrlh`>q)OgP8H--!zlV0ED&z=_)YJIn6(C#59j) z{y^S%Mi)P9)Xti!+_JUM@`(^L1~^PdMyZS8wqF9k4v66I6*H>MylQH>@o*6hZkS+$*c=9; zH+*WwD_+S%ihtEDQltp_4kl=ddVFrRilriRQD`cu;uqNlpkXLsZoQxto}COLaKL^{-L4+WN83jX9o3J$!txa%_N=^AX)4W^Pt27%$cGX+Im)h=%Bg~ zSdhEu2(hTXC4dqaoNtOSjUP7J zEDxo9dpNeuz*W*^;c@sC_)vq&t||ol;kG#wk^gYOoVHB%pX&+xz8yq$Q^X5ivI($B z=NP~=8gLo-rG%b?S%frY`AC%5tDdAp_rI1ms^#2?eg+sTbzb-JHr)!< zexX?NB8e&Lp*-5O>_5yY_$Rts0rxUCy>(m9_3Z&dYo!WK1dJX?8IZs%60+G}YF$BoOVIHmQM%9n9fa z*sqXyv1Y_?xVMIB>?54%2~a>k9wjwfv*);)E^H@Kdkw$TST(Ucxnorok&=(Oj@)k> z8|!JSk(7b^NPBA)*qWX2d$Xg{OR{-d+(PAoitWra6wWM>Xr2jZms zBL$wM(V-n+LEy3~J6ou&!FL*^bLlwK;FN4r?DS)mmAG6KcnlW9w`5ka`v2L{1Am-( zz;HnZ0IJ7M@fLD~DyTrZw9TYHGL=ke=zvhiS7y#u!JK0jK(h_t;FuBUHf__EB9<2GiT>(RIOU3u!Oi36P` znWT+8Frmce{prYx3WfGQb26I;N%0bn8gVG?8|Aq9XMA9X`m_^9u=)Y5wq7+!Bj&Op zGHWX6)kZlEWPvu<&KT5&9+NRLcP$--*5s6!RCHV>OX`9M@OG^~@qxFAeGTqo}LjM~zSZY3Zay z4M%nf0^xu9S+unuZof}Bdg}Ze4N&gv_Gc!6?G7d%Fhky6)4UWA;_@kQ?@vqChoM5| zjo;{i!gHJqsx!%Fx?Dp0oXK>eVn=M|8zXLZmY$gSzo;yH@=2y}ju3C1tj z0e72etBcfW>VXa6bt|J!xILn4m3&+?df*@HqUpF>W(y{G;#m7dr7}5Bm`Mp zGRb?^ohecNVX`>jxcm2)5$TU}*EHE01U%A_@uWRPmwj3Ib?AvDh20$pUD&7-6XMdh zFF_R04^i)sbsVe8?P{h5;A9Q4N){4^~RYA)jQBZr|ceqiPFXcUTfD6R|<&lei&YTJ1 z>#(P%_uwfMUIWMYUfIXEu97*W{g_BQ8taWT<{BOGaN7EwousOpIyiC(M<)Um z8)ox2V9R7P3J0p#2@f3pG3S1*>Q6%)C4+@{-5jR~yPIT57YuX=g#f0ZO#eLm@s80^6qZ&>EtSCAdmmU~-&a6It|9abK-0w5>6qC>Dlx6fe5;4Sd z%udY~W$zuQR6V1v3Wn|wWloY9YqYp>_bdKdypYJ2eFbSLqx#DzU$_5b9eEkV6q0K3p^4W&Yp_uvlzVMi?Gg$=8@-VMqrAI_7%(`Oq-WTa^OURl%(CWt#N>T)m6)m9MDW6 zj@qM@V3)~o6PDlJ--JD4%|R5L9Rtj-e&b#g$&p4O;yO>UDhGe!_yab=Xb= z_Bn!P9r&|aQ~t-!Cp~8y^6-e7i0f=yNngC~B_@q^J}XFdaXe zEJ=asLrtuqY~q|kQ??Z;aPd9X#tcP8E^S?Zn21!1@-}C3z=ZQ}@4;W|PasYa(TNq4 zW$C`{h^^Fr=z?i5JyZF@GDS9`McViX6KV(MET6-O8`heN;0 zVg(A{IFpX9SO@lsD9!{)aG_acQTeVj>2Wt}ko*I)7 z-O2caXspze2X@{R zT*Ic^TW|8}Y^>3bvTlm_^7olE7k5B4?i%2$lp8Gl3rJyOD)}k%#E^bep4lxGI8jSy$kAoeMF6)hsi|j7+eHO{~uBK4J;Q`)<&8x7A%`qGE-@L2ldow=6lnjY`8CM^d$j%C!X*n_O~_FI4|4x)4%6a zfa-6>{4mqVv`ija;<5XE)!oD=K|n9p#tESZnWKG!*0f6~#DL3JQG{CHZ(aueV3VU` z&K2^YMO6@#5Lj4L4#h-$N2fPSQM1#2VGz>Xh=50KlV&#V1dS@Ph-Xt`mUxq|j<>`t zI)a4BBa(`D6TU)#tB2&(a2~uJJLf$PA=~D`O)G2@*nxQv<%vIWJUvheDI}aqXHtja zsPiwV8@y08-wPz{bYW+1fUNT@&Pxo`-_#d}xx{T)-yM8euf)I#xuEtHBe>iTjvvbU zfuy4h=FAHAHQ+3AtQVwfGU^6btQOrUgs8)yT$Y+ELS1x@I>|^Tb!Ys}%aJx2^!vb$ zYUPLs*m`BagNNs(7*}kcJ?cz(rnu$0c~4kar4vhjvirvo|H6mQCH7cGv}YKs6Ny@f zwQs>9*C8xF)Fb)1f*oAsXU0Y6t)dYQ+!Dx_em!bs(+ltdY=@b6${fo{STNlE#|r@{ z_l%-_>vI|cu2JZCs_^>FF{h@BZt?wI!x_`CcY*h~pC_FKNANh47Yw)a#*iEopJ#rg zbUIV#en=oWrD!Uy)ENhk4TP6!=EaQxqFXCFq{ENL!UC>h3uETl)2~ZnVtxA6ftG!O z)TI?TmE>^!%Hg$$o9{l?q7woWZVl?c2OFL8@yGUOF@Qt8%<4gibh4F9jr}`s)-O$J zDA_75;cFh2cg4O_No+Lk?%)mTm>}?Tb8zojlBd8qUEdvC@?$Nsnb6oz)t4m{{cIyAsM3+JBg@%#pjzfp%21>QJ>4L9qr5#3>TVCTw+ z^q;tfGHfp}h>>n{+HF|1+qxP|a*CPL_-nrX64l|gx&?Y*HK&QtG5w;uT9dtN@_i|Y zII66N5-P6pEWtMFm1`=PvuWh0M1)?CbX_7~aa#39CPcxFw#jnq@j+zwvyjKW;LrB= zedid4{H~l;urG%6nDg8Z|55Sz{8Ujysx6*# z&v`Xa#;^2DAnmr*S9U-EAF3Ao?tTsn7D6J7ar|6hlIt9E8{J+(xa)gQO(9S$5DZ|SE|-szBcMsTUKlIHV-OOZXSQgw z0_rE-nPy#{?Y3Cy(1;WoLmn+Z%Gh0$s;)!ESrmMEJH`M~HLXqf zZsFWpm$DAqYG0!dlDgb-_i*7tm%hl_YEiC0$@H_34N5?9H!36$@iY~a74a;d4}>Czt^Oaw!EXt zolNsB0P#szc*iMp1;SL>D+mQS&xKvhYbQNsl9aGTAaDXn-^h6qkb>xan+~lG1JcG? zF&Sk@=)m|F@(EFTr-URZdAM&B`ws0NCu(uSKpl4EnDbprk5M`8b*YB0f)-7}r-lw7 zIY|qNbtT+ziXzcql>5#8{QkSIk9X&A^#J9tzppl)a;sWfFE()AMKP$42F<|u-q~$Z zf6|0!Hzwgchaz#el=QYpUqBknSTuB58I3ptl~JIth~WPG(BWkWzi>Le+McO*y)X9{ zXt4yM@bNE7pps$3%kL{D!)*nVr)%rlssC~Qk+Uf5E|g#0@A~_C)U0V$sX7Hl=cztS z`S?jU$Bw3kS_ReQt<03qqkT}_K6Y-X^>+O;2QKuIBb}qT&Pmvw1Y*wD;f02#Oo$zj zm@*(R?UlJn$A1uI`xm%L+^EakM1Xh+mRDBp0FCz|2RPG9+D!%sb=kh08TRBqB-?h# zyc;yb9e>S`SRa>*Xhm8y-I_i?%5*?CyW zPhF6bB>N0_;eKn}P&QbdBPWR1(blxltsEYau~u3T@0X(*Fo?a~_9&9Yzmm6~S$slacxs1=~eHFL#Mm*w7qyilj>)(xXy&?46k%$zn@D7I*rr)?Ct~F@;U&t#O>=FN&}p8J~wV zph6GXKbZ}_2kxgp=KTdU)x28@g*FfwEHP|D!!xwga4Bb>xnRYfh6Y=hd}5xGsUj(q zAii<<&hX-_8?}Gt=*W!(`qZjHbWmY8<2PvWO;AUUqF}4Ob2$_d-DM zxjRS{P&8Md@^Lh3+zIGs>KP7Nc;>IUcSND6UxeqSt;}2XG^^!cwLrn62jK@xni*9$E=9PdT?o*}QFVc@hAf3=) zgh;mj6ZInb2u=}rE)udx07B$n4g!)QdB1Po$uCGOdGe3jNkO?^|B1J7;lu3cGx>y0X}jO9Te%pEhniJokli)6Tb^H3$Aa1SqFqkAT|9&~+{uPVX(V0ve!Jly z$kEQBG=9K&3k_Js8{h`IxUftb`ZXV%%B0#zSJUBWU&wxJ?yJ%)>pQqyUPZ|*_J2cul7fLZKf@I zAQ9lDuO>VY)BA6ce5jp5ICd%hT8*d+2SNw`2Sl!L>TbkDFXM{Gf;( zqFc!=JyDhKv6{$qm7ZY|hML@D<4Nj@spYnn}E61o)f27Pb&3I{B zx2HQr2+4*(*gSnUU|>+)8^fRnI&}JH(P*WBMc{|^yFM_^1ZMyX0Jc!T2)hm?{oQS+ z1X9H+Jvs<uq5%D+9;}X?wClluW zfv~+*_L9}%-}r2gjX=?l!c(r8axTa=@S8)t4natX=13Uc^Rtk%Zy3?Xnf5kfmt&AF zH#i>q_Tli%wv|H07Csso(yNTb<8eHGR{111^WR$?w#-fpN1Xu`>L_I7I>->!O`+67 zZx5yH?+FVwd zDo|p?1>K&qHJ;YgkQ2h(@Dj}G-Ul6*Q?D^<;iH4amlfySk-G>G1CLM>RdY)*nV-Pj z?MDsq!;=DN27p1rR&hbPk8BRWW(ukb7&N!?`=EiSfcExgok9ee=zvSS;j#iGbW$@uTJixb%J)ykm0{vn|~#~X9iJkS$KRjq1K zf0`fBC}k4>gS@sFVaIem~rzg>Q~^M zLoOzj6>}U!Mhqmds~$byxe=4#Lo>r%)=DzhPmDR`*Y{7a>|H{)=!DRDP4gT`A@(sT zDC9B<)>gnTfxVdy^;qrxh^fzHJRTtjRf3fP5tVOqZG6ggEVz|vkV$er6q8jTCh|mk z(`kCZQ7C})jhETp6(E-Z4McM|LD?O-2H`-{#(Oz3MD?iY98Jkd3b%n<$AKY4JA


lit_w%c%~E$ZL_DY!HO{Oi1u<13 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

M#5nw!$IGKOsmW&0YvKUQ%f!Yd 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 [UInt8] { + if let kernel { + return Self.diffuse(gray, width, height, kernel) + } + if let orderedThreshold { + return Self.ordered(gray, width, height, orderedThreshold) + } + return self == .riemersma ? Self.riemersma(gray, width, height) : gray.map { $0 < 0.5 ? 1 : 0 } + } + + private var kernel: [Tap]? { + switch self { + case .atkinson: Kernels.atkinson + case .floydSteinberg: Kernels.floyd + case .burkes: Kernels.burkes + case .stucki: Kernels.stucki + case .jarvis: Kernels.jarvis + case .sierra: Kernels.sierra + case .sierraTwoRow: Kernels.sierraTwoRow + case .sierraLite: Kernels.sierraLite + default: nil + } + } + + private var orderedThreshold: ((Int, Int) -> Float)? { + switch self { + case .blueNoise: Thresholds.interleavedGradient + case .bayer8: { x, y in Thresholds.bayer8[(y & 7) * 8 + (x & 7)] } + case .bayer4: { x, y in Thresholds.bayer4[(y & 3) * 4 + (x & 3)] } + case .halftone: Thresholds.halftone + case .lines: Thresholds.lines + case .noise: Thresholds.whiteNoise + default: nil + } + } + + private static func diffuse(_ gray: [Float], _ width: Int, _ height: Int, _ kernel: [Tap]) -> [UInt8] { + var buffer = gray + var out = [UInt8](repeating: 0, count: width * height) + buffer.withUnsafeMutableBufferPointer { buf in + out.withUnsafeMutableBufferPointer { dst in + for y in 0 ..< height { + let reversed = y & 1 == 1 + let direction = reversed ? -1 : 1 + var x = reversed ? width - 1 : 0 + for _ in 0 ..< width { + let index = y * width + x + let old = buf[index] + let black = old < 0.5 + dst[index] = black ? 1 : 0 + let error = old - (black ? 0 : 1) + for tap in kernel { + let neighbourX = x + tap.dx * direction + let neighbourY = y + tap.dy + if neighbourX >= 0, neighbourX < width, neighbourY < height { + buf[neighbourY * width + neighbourX] += error * tap.weight + } + } + x += direction + } + } + } + } + return out + } + + private static func ordered( + _ gray: [Float], _ width: Int, _ height: Int, _ threshold: (Int, Int) -> Float + ) -> [UInt8] { + var out = [UInt8](repeating: 0, count: width * height) + for y in 0 ..< height { + for x in 0 ..< width where gray[y * width + x] < threshold(x, y) { + out[y * width + x] = 1 + } + } + return out + } + + private static func riemersma(_ gray: [Float], _ width: Int, _ height: Int) -> [UInt8] { + var out = [UInt8](repeating: 0, count: width * height) + let historyLength = 16 + let ratio = Float(1.0 / 16.0) + let weights = (0 ..< historyLength).map { index in + pow(ratio, Float(historyLength - 1 - index) / Float(historyLength - 1)) + } + let weightSum = weights.reduce(0, +) + var history = [Float](repeating: 0, count: historyLength) + var order = 1 + while order < width { + order <<= 1 + } + + for band in stride(from: 0, to: height, by: order) { + for distance in 0 ..< order * order { + let (x, bandY) = hilbertPoint(order: order, distance: distance) + let y = band + bandY + guard x < width, y < height else { continue } + var carried: Float = 0 + for index in 0 ..< historyLength { + carried += history[index] * weights[index] + } + let value = gray[y * width + x] + carried / weightSum + let black = value < 0.5 + out[y * width + x] = black ? 1 : 0 + history.removeFirst() + history.append(value - (black ? 0 : 1)) + } + } + return out + } + + private static func hilbertPoint(order: Int, distance: Int) -> (Int, Int) { + var (x, y, remaining, scale) = (0, 0, distance, 1) + while scale < order { + let quadrantX = 1 & (remaining / 2) + let quadrantY = 1 & (remaining ^ quadrantX) + if quadrantY == 0 { + if quadrantX == 1 { + x = scale - 1 - x + y = scale - 1 - y + } + swap(&x, &y) + } + x += scale * quadrantX + y += scale * quadrantY + remaining /= 4 + scale *= 2 + } + return (x, y) + } +} + +private nonisolated struct Tap { + let dx: Int + let dy: Int + let weight: Float + + init(_ dx: Int, _ dy: Int, _ numerator: Float, _ denominator: Float) { + self.dx = dx + self.dy = dy + weight = numerator / denominator + } +} + +private nonisolated enum Kernels { + static let floyd = [Tap(1, 0, 7, 16), Tap(-1, 1, 3, 16), Tap(0, 1, 5, 16), Tap(1, 1, 1, 16)] + + static let atkinson = [ + Tap(1, 0, 1, 8), Tap(2, 0, 1, 8), + Tap(-1, 1, 1, 8), Tap(0, 1, 1, 8), Tap(1, 1, 1, 8), + Tap(0, 2, 1, 8), + ] + + static let burkes = [ + Tap(1, 0, 8, 32), Tap(2, 0, 4, 32), + Tap(-2, 1, 2, 32), Tap(-1, 1, 4, 32), Tap(0, 1, 8, 32), Tap(1, 1, 4, 32), Tap(2, 1, 2, 32), + ] + + static let stucki = [ + Tap(1, 0, 8, 42), Tap(2, 0, 4, 42), + Tap(-2, 1, 2, 42), Tap(-1, 1, 4, 42), Tap(0, 1, 8, 42), Tap(1, 1, 4, 42), Tap(2, 1, 2, 42), + Tap(-2, 2, 1, 42), Tap(-1, 2, 2, 42), Tap(0, 2, 4, 42), Tap(1, 2, 2, 42), Tap(2, 2, 1, 42), + ] + + static let jarvis = [ + Tap(1, 0, 7, 48), Tap(2, 0, 5, 48), + Tap(-2, 1, 3, 48), Tap(-1, 1, 5, 48), Tap(0, 1, 7, 48), Tap(1, 1, 5, 48), Tap(2, 1, 3, 48), + Tap(-2, 2, 1, 48), Tap(-1, 2, 3, 48), Tap(0, 2, 5, 48), Tap(1, 2, 3, 48), Tap(2, 2, 1, 48), + ] + + static let sierra = [ + Tap(1, 0, 5, 32), Tap(2, 0, 3, 32), + Tap(-2, 1, 2, 32), Tap(-1, 1, 4, 32), Tap(0, 1, 5, 32), Tap(1, 1, 4, 32), Tap(2, 1, 2, 32), + Tap(-1, 2, 2, 32), Tap(0, 2, 3, 32), Tap(1, 2, 2, 32), + ] + + static let sierraTwoRow = [ + Tap(1, 0, 4, 16), Tap(2, 0, 3, 16), + Tap(-2, 1, 1, 16), Tap(-1, 1, 2, 16), Tap(0, 1, 3, 16), Tap(1, 1, 2, 16), Tap(2, 1, 1, 16), + ] + + static let sierraLite = [Tap(1, 0, 2, 4), Tap(-1, 1, 1, 4), Tap(0, 1, 1, 4)] +} + +private nonisolated enum Thresholds { + static let bayer8: [Float] = [ + 0, 32, 8, 40, 2, 34, 10, 42, + 48, 16, 56, 24, 50, 18, 58, 26, + 12, 44, 4, 36, 14, 46, 6, 38, + 60, 28, 52, 20, 62, 30, 54, 22, + 3, 35, 11, 43, 1, 33, 9, 41, + 51, 19, 59, 27, 49, 17, 57, 25, + 15, 47, 7, 39, 13, 45, 5, 37, + 63, 31, 55, 23, 61, 29, 53, 21, + ].map { (Float($0) + 0.5) / 64 } + + static let bayer4: [Float] = [ + 0, 8, 2, 10, + 12, 4, 14, 6, + 3, 11, 1, 9, + 15, 7, 13, 5, + ].map { (Float($0) + 0.5) / 16 } + + static func halftone(_ x: Int, _ y: Int) -> Float { + let cell: Float = 6 + let u = (Float(x) + Float(y)) / cell * .pi + let v = (Float(x) - Float(y)) / cell * .pi + return 0.5 + 0.23 * (cos(u) + cos(v)) + } + + static func lines(_: Int, _ y: Int) -> Float { + let period = 6 + let position = Float(y % period) / Float(period) + return 0.08 + 0.84 * abs(position * 2 - 1) + } + + static func interleavedGradient(_ x: Int, _ y: Int) -> Float { + let value = 52.982_918_9 * (0.067_110_56 * Float(x) + 0.005_837_15 * Float(y)).truncatingRemainder(dividingBy: 1) + return 0.04 + 0.92 * value.truncatingRemainder(dividingBy: 1) + } + + static func whiteNoise(_ x: Int, _ y: Int) -> Float { + var state = UInt32(truncatingIfNeeded: x &* 73_856_093 ^ y &* 19_349_663) + state ^= state << 13 + state ^= state >> 17 + state ^= state << 5 + return 0.05 + 0.9 * Float(state & 0xFFFF) / 65535 + } +} diff --git a/Inkless/Imaging/ImageAccent.swift b/Inkless/Imaging/ImageAccent.swift new file mode 100644 index 0000000..92e5f1a --- /dev/null +++ b/Inkless/Imaging/ImageAccent.swift @@ -0,0 +1,75 @@ +import CoreGraphics +import SwiftUI +import UIKit + +nonisolated enum ImageAccent { + private static let sampleSide = 24 + private static let hueBuckets = 12 + private static let maximumLuminanceOnLight = 0.175 + private static let maximumLuminanceOnDark = 0.24 + + static func hue(of image: CGImage) -> Double? { + var pixels = [UInt8](repeating: 0, count: sampleSide * sampleSide * 4) + let drawn: Bool = pixels.withUnsafeMutableBytes { raw in + guard let context = CGContext( + data: raw.baseAddress, width: sampleSide, height: sampleSide, + bitsPerComponent: 8, bytesPerRow: sampleSide * 4, + space: CGColorSpaceCreateDeviceRGB(), + bitmapInfo: CGImageAlphaInfo.noneSkipLast.rawValue + ) else { return false } + context.interpolationQuality = .medium + context.draw(image, in: CGRect(x: 0, y: 0, width: sampleSide, height: sampleSide)) + return true + } + guard drawn else { return nil } + + var weights = [Double](repeating: 0, count: hueBuckets) + var hues = [Double](repeating: 0, count: hueBuckets) + for index in stride(from: 0, to: pixels.count, by: 4) { + let tone = hsb(pixels[index], pixels[index + 1], pixels[index + 2]) + let weight = tone.saturation * tone.saturation * tone.brightness + let bucket = min(hueBuckets - 1, Int(tone.hue * Double(hueBuckets))) + weights[bucket] += weight + hues[bucket] += tone.hue * weight + } + guard let best = weights.indices.max(by: { weights[$0] < weights[$1] }), weights[best] > 4 else { return nil } + return hues[best] / weights[best] + } + + static func color(hue: Double, dark: Bool) -> Color { + Color(uiColor: legible(hue: hue, limit: dark ? maximumLuminanceOnDark : maximumLuminanceOnLight)) + } + + private static func legible(hue: Double, limit: Double) -> UIColor { + var brightness = 0.95 + while brightness > 0.3, luminance(hue: hue, saturation: 0.8, brightness: brightness) > limit { + brightness -= 0.03 + } + return UIColor(hue: hue, saturation: 0.8, brightness: brightness, alpha: 1) + } + + private static func luminance(hue: Double, saturation: Double, brightness: Double) -> Double { + var red: CGFloat = 0 + var green: CGFloat = 0 + var blue: CGFloat = 0 + UIColor(hue: hue, saturation: saturation, brightness: brightness, alpha: 1) + .getRed(&red, green: &green, blue: &blue, alpha: nil) + let linear = [red, green, blue].map { $0 <= 0.04045 ? $0 / 12.92 : pow(($0 + 0.055) / 1.055, 2.4) } + return Double(0.2126 * linear[0] + 0.7152 * linear[1] + 0.0722 * linear[2]) + } + + private struct HSB { + let hue: Double + let saturation: Double + let brightness: Double + } + + private static func hsb(_ red: UInt8, _ green: UInt8, _ blue: UInt8) -> HSB { + var hue: CGFloat = 0 + var saturation: CGFloat = 0 + var brightness: CGFloat = 0 + UIColor(red: CGFloat(red) / 255, green: CGFloat(green) / 255, blue: CGFloat(blue) / 255, alpha: 1) + .getHue(&hue, saturation: &saturation, brightness: &brightness, alpha: nil) + return HSB(hue: Double(hue), saturation: Double(saturation), brightness: Double(brightness)) + } +} diff --git a/Inkless/Imaging/Raster.swift b/Inkless/Imaging/Raster.swift new file mode 100644 index 0000000..2d2391e --- /dev/null +++ b/Inkless/Imaging/Raster.swift @@ -0,0 +1,134 @@ +import CoreGraphics +import Foundation + +nonisolated enum PrintHead { + static let dots = 384 + static let dotsPerMillimetre = 8.0 +} + +nonisolated struct DotBitmap: Sendable, Equatable { + let width: Int + let height: Int + var dots: [UInt8] + + init(width: Int, height: Int, dots: [UInt8]) { + precondition(dots.count == width * height) + self.width = width + self.height = height + self.dots = dots + } + + static func blank(rows: Int) -> DotBitmap { + DotBitmap(width: PrintHead.dots, height: rows, dots: .init(repeating: 0, count: PrintHead.dots * rows)) + } + + var blackRatio: Double { + guard !dots.isEmpty else { return 0 } + return Double(dots.reduce(into: 0) { $0 += Int($1) }) / Double(dots.count) + } + + func packedRows() -> Data { + let stride = (width + 7) / 8 + var out = Data(count: stride * height) + out.withUnsafeMutableBytes { raw in + let bytes = raw.bindMemory(to: UInt8.self) + for y in 0 ..< height { + for x in 0 ..< width where dots[y * width + x] != 0 { + bytes[y * stride + (x >> 3)] |= 1 << UInt8(x & 7) + } + } + } + return out + } +} + +nonisolated struct GrayBitmap: Sendable, Equatable { + let width: Int + let height: Int + var luma: [UInt8] + + var blackRatio: Double { + guard !luma.isEmpty else { return 0 } + return 1 - Double(luma.reduce(into: 0) { $0 += Int($1) }) / Double(luma.count * 255) + } + + static func darkness(_ luma: UInt8) -> UInt8 { + 15 - luma / 16 + } + + func packedNibbles() -> Data { + var out = Data(capacity: (luma.count + 1) / 2) + var index = 0 + while index < luma.count { + let high = Self.darkness(luma[index]) + let low = index + 1 < luma.count ? Self.darkness(luma[index + 1]) : 0 + out.append(high << 4 | low) + index += 2 + } + return out + } + + func packedBytes() -> Data { + Data(luma) + } +} + +nonisolated enum PrintRaster: Sendable, Equatable { + case dots(DotBitmap) + case gray(GrayBitmap) + + var width: Int { + switch self { + case let .dots(bitmap): bitmap.width + case let .gray(bitmap): bitmap.width + } + } + + var height: Int { + switch self { + case let .dots(bitmap): bitmap.height + case let .gray(bitmap): bitmap.height + } + } + + var blackRatio: Double { + switch self { + case let .dots(bitmap): bitmap.blackRatio + case let .gray(bitmap): bitmap.blackRatio + } + } + + var lengthInMillimetres: Double { + Double(height) / PrintHead.dotsPerMillimetre + } + + func padded(toMinimumHeight minimum: Int) -> PrintRaster { + guard height < minimum else { return self } + let missing = (minimum - height) * width + switch self { + case let .dots(bitmap): + let dots = bitmap.dots + [UInt8](repeating: 0, count: missing) + return .dots(DotBitmap(width: width, height: minimum, dots: dots)) + case let .gray(bitmap): + let luma = bitmap.luma + [UInt8](repeating: 255, count: missing) + return .gray(GrayBitmap(width: width, height: minimum, luma: luma)) + } + } + + func makeImage(cropping rect: CGRect? = nil) -> CGImage? { + let pixels: [UInt8] = switch self { + case let .dots(bitmap): bitmap.dots.map { $0 == 0 ? 255 : 0 } + case let .gray(bitmap): bitmap.luma.map { 255 - GrayBitmap.darkness($0) * 17 } + } + guard let provider = CGDataProvider(data: Data(pixels) as CFData) else { return nil } + let image = CGImage( + width: width, height: height, + bitsPerComponent: 8, bitsPerPixel: 8, bytesPerRow: width, + space: CGColorSpaceCreateDeviceGray(), + bitmapInfo: CGBitmapInfo(rawValue: CGImageAlphaInfo.none.rawValue), + provider: provider, decode: nil, shouldInterpolate: false, intent: .defaultIntent + ) + guard let rect else { return image } + return image?.cropping(to: rect) + } +} diff --git a/Inkless/Imaging/RasterPipeline.swift b/Inkless/Imaging/RasterPipeline.swift new file mode 100644 index 0000000..31a7d16 --- /dev/null +++ b/Inkless/Imaging/RasterPipeline.swift @@ -0,0 +1,151 @@ +import CoreGraphics +import Foundation + +nonisolated struct ToneAdjustments: Sendable, Equatable, Codable { + var brightness: Double = 0 + var contrast: Double = 0 + var gamma: Double = 0 + var sharpness: Double = 0 + var inverted = false + + var isNeutral: Bool { + self == ToneAdjustments() + } +} + +nonisolated enum PrintStyle: Hashable, Identifiable, Sendable { + case smooth + case dots(DitherAlgorithm) + + static let all: [PrintStyle] = [.smooth] + DitherAlgorithm.allCases.map(PrintStyle.dots) + + var id: String { + switch self { + case .smooth: "smooth" + case let .dots(algorithm): algorithm.rawValue + } + } + + var title: String { + switch self { + case .smooth: "HD" + case let .dots(algorithm): algorithm.title + } + } + + var summary: String { + switch self { + case .smooth: "True grayscale, no dots. The head makes several passes, so it prints about four times slower." + case let .dots(algorithm): algorithm.summary + } + } +} + +nonisolated struct RenderSettings: Sendable, Equatable { + var style = PrintStyle.dots(.atkinson) + var tone = ToneAdjustments() + var rotation = 0 +} + +nonisolated struct GrayField: Sendable { + let width: Int + let height: Int + let values: [Float] + + func centreCrop(side: Int) -> GrayField { + let cropWidth = min(side, width) + let cropHeight = min(side, height) + let originX = (width - cropWidth) / 2 + let originY = (height - cropHeight) / 2 + var out = [Float]() + out.reserveCapacity(cropWidth * cropHeight) + for y in originY ..< originY + cropHeight { + out.append(contentsOf: values[(y * width + originX) ..< (y * width + originX + cropWidth)]) + } + return GrayField(width: cropWidth, height: cropHeight, values: out) + } + + func rasterised(as style: PrintStyle) -> PrintRaster { + switch style { + case let .dots(algorithm): + .dots(DotBitmap(width: width, height: height, dots: algorithm.apply(to: values, width: width, height: height))) + case .smooth: + .gray(GrayBitmap(width: width, height: height, luma: values.map { UInt8((min(max($0, 0), 1) * 255).rounded()) })) + } + } +} + +nonisolated enum RasterPipeline { + static let maximumRows = 16000 + + static func render(_ image: CGImage, settings: RenderSettings, width: Int = PrintHead.dots) -> PrintRaster? { + prepare(image, tone: settings.tone, rotation: settings.rotation, width: width)?.rasterised(as: settings.style) + } + + static func prepare(_ image: CGImage, tone: ToneAdjustments, rotation: Int, width: Int = PrintHead.dots) -> GrayField? { + guard let scaled = grayscale(image, width: width, rotation: rotation) else { return nil } + var gray = scaled.gray + applyTone(&gray, width: width, height: scaled.height, tone: tone) + return GrayField(width: width, height: scaled.height, values: gray) + } + + private static func grayscale(_ image: CGImage, width: Int, rotation: Int) -> (gray: [Float], height: Int)? { + let turns = ((rotation % 4) + 4) % 4 + let sideways = turns % 2 == 1 + let sourceWidth = CGFloat(sideways ? image.height : image.width) + let sourceHeight = CGFloat(sideways ? image.width : image.height) + guard sourceWidth > 0, sourceHeight > 0 else { return nil } + let height = min(max(1, Int((CGFloat(width) * sourceHeight / sourceWidth).rounded())), maximumRows) + + var pixels = [UInt8](repeating: 255, count: width * height) + let drawn: Bool = pixels.withUnsafeMutableBytes { raw in + guard let context = CGContext( + data: raw.baseAddress, width: width, height: height, + bitsPerComponent: 8, bytesPerRow: width, + space: CGColorSpaceCreateDeviceGray(), + bitmapInfo: CGImageAlphaInfo.none.rawValue + ) else { return false } + context.interpolationQuality = .high + context.setFillColor(gray: 1, alpha: 1) + context.fill(CGRect(x: 0, y: 0, width: width, height: height)) + context.translateBy(x: CGFloat(width) / 2, y: CGFloat(height) / 2) + context.rotate(by: -CGFloat(turns) * .pi / 2) + let drawWidth = sideways ? CGFloat(height) : CGFloat(width) + let drawHeight = sideways ? CGFloat(width) : CGFloat(height) + let target = CGRect(x: -drawWidth / 2, y: -drawHeight / 2, width: drawWidth, height: drawHeight) + context.draw(image, in: target) + return true + } + guard drawn else { return nil } + return (pixels.map { Float($0) / 255 }, height) + } + + private static func applyTone(_ gray: inout [Float], width: Int, height: Int, tone: ToneAdjustments) { + if tone.sharpness > 0 { + sharpen(&gray, width: width, height: height, amount: Float(tone.sharpness)) + } + let brightness = Float(tone.brightness) * 0.5 + let slope = Float(pow(3.0, tone.contrast)) + let exponent = Float(pow(2.0, -tone.gamma)) + for index in gray.indices { + var value = min(max((gray[index] - 0.5) * slope + 0.5 + brightness, 0), 1) + if exponent != 1 { + value = pow(value, exponent) + } + gray[index] = tone.inverted ? 1 - value : value + } + } + + private static func sharpen(_ gray: inout [Float], width: Int, height: Int, amount: Float) { + guard width > 2, height > 2 else { return } + let source = gray + let strength = amount * 1.5 + for y in 1 ..< (height - 1) { + for x in 1 ..< (width - 1) { + let index = y * width + x + let neighbours = source[index - 1] + source[index + 1] + source[index - width] + source[index + width] + gray[index] = source[index] + strength * (4 * source[index] - neighbours) + } + } + } +} diff --git a/Inkless/Imaging/TextRenderer.swift b/Inkless/Imaging/TextRenderer.swift new file mode 100644 index 0000000..65e5e1d --- /dev/null +++ b/Inkless/Imaging/TextRenderer.swift @@ -0,0 +1,87 @@ +import SwiftUI +import UIKit + +nonisolated struct TextStyle: Sendable, Equatable { + enum Face: String, CaseIterable, Identifiable, Sendable { + case standard, rounded, serif, mono + + var id: String { + rawValue + } + + var title: String { + switch self { + case .standard: "Default" + case .rounded: "Rounded" + case .serif: "Serif" + case .mono: "Mono" + } + } + + var design: UIFontDescriptor.SystemDesign { + switch self { + case .standard: .default + case .rounded: .rounded + case .serif: .serif + case .mono: .monospaced + } + } + } + + var face = Face.standard + var size = 36.0 + var bold = true + var alignment = NSTextAlignment.left + var checklist = false +} + +nonisolated enum TextRenderer { + private static let margin: CGFloat = 8 + private static let checkbox = "☐ " + + static func render(_ text: String, style: TextStyle, width: Int = PrintHead.dots) -> PrintRaster? { + let trimmed = text.trimmingCharacters(in: .whitespacesAndNewlines) + guard !trimmed.isEmpty else { return nil } + + let attributed = attributedString(trimmed, style: style) + let options: NSStringDrawingOptions = [.usesLineFragmentOrigin, .usesFontLeading] + let column = CGFloat(width) - margin * 2 + let bounds = attributed.boundingRect( + with: CGSize(width: column, height: .greatestFiniteMagnitude), options: options, context: nil + ) + let height = Int(ceil(bounds.height) + margin * 2) + + let format = UIGraphicsImageRendererFormat() + format.scale = 1 + format.opaque = true + let renderer = UIGraphicsImageRenderer(size: CGSize(width: width, height: height), format: format) + let image = renderer.image { context in + UIColor.white.setFill() + context.fill(CGRect(x: 0, y: 0, width: width, height: height)) + let frame = CGRect(x: margin, y: margin, width: column, height: bounds.height) + attributed.draw(with: frame, options: options, context: nil) + } + guard let cgImage = image.cgImage else { return nil } + return RasterPipeline.render(cgImage, settings: RenderSettings(style: .dots(.threshold)), width: width) + } + + private static func attributedString(_ text: String, style: TextStyle) -> NSAttributedString { + let base = UIFont.systemFont(ofSize: style.size, weight: style.bold ? .bold : .regular) + let font = base.fontDescriptor.withDesign(style.face.design).map { UIFont(descriptor: $0, size: style.size) } ?? base + + let paragraph = NSMutableParagraphStyle() + paragraph.alignment = style.alignment + paragraph.lineSpacing = style.size * 0.12 + var body = text + if style.checklist { + paragraph.headIndent = (checkbox as NSString).size(withAttributes: [.font: font]).width + paragraph.paragraphSpacing = style.size * 0.3 + body = text.split(separator: "\n", omittingEmptySubsequences: false) + .map { $0.trimmingCharacters(in: .whitespaces).isEmpty ? String($0) : checkbox + $0 } + .joined(separator: "\n") + } + return NSAttributedString(string: body, attributes: [ + .font: font, .foregroundColor: UIColor.black, .paragraphStyle: paragraph, + ]) + } +} diff --git a/Inkless/Printer/MXWProtocol.swift b/Inkless/Printer/MXWProtocol.swift new file mode 100644 index 0000000..4bd2dc9 --- /dev/null +++ b/Inkless/Printer/MXWProtocol.swift @@ -0,0 +1,233 @@ +import CoreBluetooth +import CryptoKit +import Foundation + +nonisolated enum MXW { + @MainActor static let service = CBUUID(string: "AE30") + @MainActor static let commandCharacteristic = CBUUID(string: "AE01") + @MainActor static let notifyCharacteristic = CBUUID(string: "AE02") + @MainActor static let dataCharacteristic = CBUUID(string: "AE03") + + static let magic: [UInt8] = [0x22, 0x21] + static let minimumRows = 90 + + enum Command: UInt8 { + case status = 0xA1 + case density = 0xA2 + case startPrint = 0xA9 + case printComplete = 0xAA + case cancel = 0xAC + case flush = 0xAD + case flowControl = 0xAE + case version = 0xB1 + case challenge = 0xB3 + } + + enum PrintMode: UInt8 { + case dots = 0x00 + case gray = 0x02 + } + + enum HeadType: Sendable, Equatable { case highVoltage, lowVoltage, unknown } + + static func crc8(_ bytes: some Sequence) -> UInt8 { + var crc: UInt8 = 0 + for byte in bytes { + crc ^= byte + for _ in 0 ..< 8 { + crc = crc & 0x80 != 0 ? (crc << 1) ^ 0x07 : crc << 1 + } + } + return crc + } + + static func frame(_ command: Command, _ payload: [UInt8]) -> Data { + let header = magic + [command.rawValue, 0x00, UInt8(payload.count & 0xFF), UInt8(payload.count >> 8)] + return Data(header + payload + [crc8(payload), 0xFF]) + } + + private static func vendorFrame(_ command: Command, _ payload: [UInt8]) -> Data { + Data(magic + [command.rawValue, 0x00, UInt8(payload.count), 0x00] + payload + [0x00, 0x00]) + } + + static func statusRequest() -> Data { + frame(.status, [0x00]) + } + + static func versionRequest() -> Data { + frame(.version, [0x00]) + } + + static func cancel() -> Data { + frame(.cancel, [0x00]) + } + + static func flush() -> Data { + vendorFrame(.flush, [0x00]) + } + + static func density(_ value: Int) -> Data { + frame(.density, [UInt8(min(max(value, 0), 100))]) + } + + static func startPrint(rows: Int, mode: PrintMode) -> Data { + vendorFrame(.startPrint, [UInt8(rows & 0xFF), UInt8((rows >> 8) & 0xFF), 0x30, mode.rawValue]) + } + + static func usesFourBitGray(firmware: String?) -> Bool { + guard let firmware, firmware.count >= 7 else { return true } + let parts = firmware.dropFirst(4).prefix(3).split(separator: ".").map { Int($0) } + guard parts.count == 2, let major = parts[0], let minor = parts[1] else { return true } + return major > 1 && minor > 0 + } + + static func compensatedDensity( + requested: Int, temperature: Int, blackRatio: Double, head: HeadType, mode: PrintMode + ) -> Int { + if mode == .gray { + guard temperature >= 50 else { return requested } + let low = head == .lowVoltage + let limit = switch temperature { + case ..<55: low ? 80 : 85 + case ..<60: low ? 75 : 80 + case ..<65: low ? 65 : 75 + case ..<70: low ? 60 : 65 + default: 56 + } + return min(requested, limit) + } + guard temperature >= 60 else { return requested } + let bucket = blackRatio <= 0.4 ? 0 : blackRatio < 0.5 ? 1 : blackRatio < 0.7 ? 2 : 3 + let row = temperature < 65 ? 0 : temperature < 70 ? 1 : 2 + let table = head == .lowVoltage + ? [[60, 50, 50, 30], [50, 40, 40, 20], [40, 30, 30, 10]] + : [[48, 15, 15, 10], [36, 9, 5, 5], [22, 5, 3, 3]] + return min(requested, table[row][bucket]) + } + + struct Status: Sendable, Equatable { + enum Activity: UInt8, Sendable { case idle = 0, printing, feeding, retracting } + enum Fault: Sendable, Equatable { case noPaper, overheated, lowBattery, unknown(UInt8) } + + var activity: Activity + var battery: Int + var temperature: Int + var fault: Fault? + } + + enum Notification: Sendable, Equatable { + case status(Status) + case printAccepted + case printRejected(UInt8) + case printComplete + case flowPause + case flowResume + case version(String, HeadType) + case challenge([UInt8]) + case other(UInt8) + + var isStatus: Bool { + if case .status = self { + true + } else { + false + } + } + + var isPrintReply: Bool { + switch self { + case .printAccepted, .printRejected: true + default: false + } + } + } + + static func parse(_ data: Data) -> Notification? { + let bytes = [UInt8](data) + guard bytes.count >= 6, bytes[0] == magic[0], bytes[1] == magic[1] else { return nil } + let length = Int(bytes[4]) | Int(bytes[5]) << 8 + let payload = Array(bytes.dropFirst(6).prefix(length)) + + switch Command(rawValue: bytes[2]) { + case .status: + return parseStatus(payload) ?? .other(bytes[2]) + case .startPrint: + let code = payload.first ?? 0 + return code == 0 ? .printAccepted : .printRejected(code) + case .printComplete: + return .printComplete + case .flowControl: + let flagged = payload.first == 0x10 + let bareForm = bytes[3] == 0x00 + return (bareForm ? !flagged : flagged) ? .flowPause : .flowResume + case .version: + return parseVersion(payload) + case .challenge: + return .challenge(Array(payload.prefix(10))) + default: + return .other(bytes[2]) + } + } + + private static func parseVersion(_ payload: [UInt8]) -> Notification { + let text = String(bytes: payload.prefix(9).prefix { $0 != 0 }, encoding: .utf8) ?? "" + let head: HeadType = switch text.last { + case "2": .highVoltage + case "1": .lowVoltage + default: .unknown + } + return .version(text, head) + } + + private static func parseStatus(_ payload: [UInt8]) -> Notification? { + guard payload.count >= 8 else { return nil } + var fault: Status.Fault? + if payload[6] != 0 { + fault = switch payload[7] { + case 0x01, 0x09: .noPaper + case 0x04: .overheated + case 0x08: .lowBattery + default: .unknown(payload[7]) + } + } + return .status(Status( + activity: .init(rawValue: payload[0]) ?? .idle, + battery: Int(payload[3]), temperature: Int(payload[4]), fault: fault + )) + } + + static func challengeResponse(to challenge: [UInt8], now: Date = .now) -> Data? { + guard challenge.count == 10 else { return nil } + let millis = String(Int(now.timeIntervalSince1970 * 1000)).suffix(4) + guard let high = UInt8(millis.prefix(2)), let low = UInt8(millis.suffix(2)) else { return nil } + let highHex = String(format: "%02x", high) + let lowHex = String(format: "%02x", low) + + let mask: [UInt8] = [0xA9, low, 0xD3, 0x03, 0x78, 0xB6, 0x15, high, 0xEA, 0x82] + let key = "93\(highHex)e8ae5e93d79683dcaf9e\(lowHex)3ede35" + let message = zip(challenge, mask).map { String(format: "%02X", $0 ^ $1) }.joined() + + let mac = HMAC.authenticationCode(for: Data(message.utf8), using: SymmetricKey(data: Data(key.utf8))) + let hex = mac.map { String(format: "%02X", $0) }.joined() + let body = hex.prefix(2) + lowHex + hex.dropFirst(2).prefix(56) + highHex + hex.suffix(6) + return Data(hexString: "2221B3002200" + body + "00FF") + } +} + +nonisolated extension Data { + init?(hexString: String) { + let characters = Array(hexString) + guard characters.count.isMultiple(of: 2) else { return nil } + var bytes = [UInt8]() + bytes.reserveCapacity(characters.count / 2) + for index in stride(from: 0, to: characters.count, by: 2) { + guard let byte = UInt8(String(characters[index ... index + 1]), radix: 16) else { return nil } + bytes.append(byte) + } + self.init(bytes) + } + + var hexString: String { + map { String(format: "%02X", $0) }.joined() + } +} diff --git a/Inkless/Printer/PrintError.swift b/Inkless/Printer/PrintError.swift new file mode 100644 index 0000000..9a47ef8 --- /dev/null +++ b/Inkless/Printer/PrintError.swift @@ -0,0 +1,48 @@ +import Foundation + +enum PrintError: LocalizedError, Equatable { + case notConnected, noPaper, overheated, lowBattery, rejected(UInt8), timedOut, cancelled, linkLost + + init(_ fault: MXW.Status.Fault) { + self = switch fault { + case .noPaper: .noPaper + case .overheated: .overheated + case .lowBattery: .lowBattery + case let .unknown(code): .rejected(code) + } + } + + var errorDescription: String? { + switch self { + case .notConnected: "Printer Not Connected" + case .noPaper: "Out of Paper" + case .overheated: "Print Head Overheated" + case .lowBattery: "Printer Battery Low" + case let .rejected(code): "Printer Rejected the Job (\(code))" + case .timedOut: "Printer Not Responding" + case .cancelled: "Printing Cancelled" + case .linkLost: "Connection Lost" + } + } + + var recoverySuggestion: String? { + switch self { + case .notConnected, .linkLost, .timedOut: "Turn the printer on and bring it closer to your iPhone." + case .noPaper: "Load a paper roll and close the cover." + case .overheated: "Let the printer cool down for a couple of minutes." + case .lowBattery: "Connect the printer to a charger." + case .rejected, .cancelled: nil + } + } +} + +extension MXW.Status.Fault { + var title: String { + switch self { + case .noPaper: "Out of Paper" + case .overheated: "Overheated" + case .lowBattery: "Low Battery" + case let .unknown(code): "Error \(code)" + } + } +} diff --git a/Inkless/Printer/PrinterManager+Bluetooth.swift b/Inkless/Printer/PrinterManager+Bluetooth.swift new file mode 100644 index 0000000..cc4e5b9 --- /dev/null +++ b/Inkless/Printer/PrinterManager+Bluetooth.swift @@ -0,0 +1,103 @@ +import CoreBluetooth +import SwiftUI + +extension PrinterManager: CBCentralManagerDelegate, CBPeripheralDelegate { + func centralManagerDidUpdateState(_ central: CBCentralManager) { + switch central.state { + case .poweredOn: + if link == .bluetoothOff || link == .unauthorized { + link = .idle + } + reconnectIfRemembered() + startScanning() + case .unauthorized: + resetLink() + link = .unauthorized + case .poweredOff, .unsupported, .resetting: + resetLink() + link = .bluetoothOff + default: + break + } + } + + func centralManager( + _: CBCentralManager, didDiscover peripheral: CBPeripheral, + advertisementData: [String: Any], rssi: NSNumber + ) { + let name = (advertisementData[CBAdvertisementDataLocalNameKey] as? String) ?? peripheral.name ?? "" + guard name.uppercased().hasPrefix("MXW") || name.uppercased() == "C17" else { return } + found[peripheral.identifier] = peripheral + lastSeen[peripheral.identifier] = .now + if peripheral.identifier == awaitedPeripheralID, link != .ready { + central?.connect(peripheral) + } + if let index = discovered.firstIndex(where: { $0.id == peripheral.identifier }) { + if abs(discovered[index].rssi - rssi.intValue) >= 8 { + discovered[index].rssi = rssi.intValue + } + } else { + withAnimation(.snappy) { + discovered.append(Discovered(id: peripheral.identifier, name: name, rssi: rssi.intValue)) + } + } + } + + func centralManager(_: CBCentralManager, didConnect peripheral: CBPeripheral) { + remember(id: peripheral.identifier, name: printerName) + peripheral.discoverServices([MXW.service]) + } + + func centralManager(_: CBCentralManager, didFailToConnect _: CBPeripheral, error _: Error?) { + resetLink() + link = .idle + reconnectIfRemembered() + startScanning() + } + + func centralManager(_: CBCentralManager, didDisconnectPeripheral _: CBPeripheral, error _: Error?) { + resetLink() + withAnimation(.smooth) { link = .idle } + reconnectIfRemembered() + startScanning() + } + + func peripheral(_ peripheral: CBPeripheral, didDiscoverServices _: Error?) { + guard let service = peripheral.services?.first(where: { $0.uuid == MXW.service }) else { + central?.cancelPeripheralConnection(peripheral) + return + } + let wanted = [MXW.commandCharacteristic, MXW.notifyCharacteristic, MXW.dataCharacteristic] + peripheral.discoverCharacteristics(wanted, for: service) + } + + func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error _: Error?) { + for characteristic in service.characteristics ?? [] { + switch characteristic.uuid { + case MXW.commandCharacteristic: commandCharacteristic = characteristic + case MXW.dataCharacteristic: dataCharacteristic = characteristic + case MXW.notifyCharacteristic: peripheral.setNotifyValue(true, for: characteristic) + default: break + } + } + } + + func peripheral(_ peripheral: CBPeripheral, didUpdateNotificationStateFor characteristic: CBCharacteristic, error _: Error?) { + guard characteristic.isNotifying, commandCharacteristic != nil, dataCharacteristic != nil else { return } + stopScanning() + connectedThisSession.insert(peripheral.identifier) + withAnimation(.smooth) { link = .ready } + send(MXW.versionRequest()) + startStatusPolling() + } + + func peripheral(_: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error _: Error?) { + guard let value = characteristic.value, let notification = MXW.parse(value) else { return } + handle(notification) + } + + func peripheralIsReady(toSendWriteWithoutResponse _: CBPeripheral) { + writeReady?.resume() + writeReady = nil + } +} diff --git a/Inkless/Printer/PrinterManager+Discovery.swift b/Inkless/Printer/PrinterManager+Discovery.swift new file mode 100644 index 0000000..10ebd3e --- /dev/null +++ b/Inkless/Printer/PrinterManager+Discovery.swift @@ -0,0 +1,70 @@ +import CoreBluetooth +import SwiftUI + +private let presenceTimeout = 4.0 +private let connectTimeout = 8.0 + +extension PrinterManager { + func startScanning() { + if isDemo { + guard discovered.isEmpty else { return } + link = .scanning + Task { + try? await Task.sleep(for: .seconds(1.2)) + guard link == .scanning else { return } + withAnimation(.snappy) { discovered = [Discovered(id: UUID(), name: "MXW01", rssi: -48)] } + } + return + } + activate() + guard let central, central.state == .poweredOn, link != .ready else { return } + if !hasRememberedPrinter { + link = .scanning + } + central.scanForPeripherals(withServices: nil, options: [CBCentralManagerScanOptionAllowDuplicatesKey: true]) + watchPresence() + } + + func rescan() { + lastSeen = [:] + found = [:] + discovered = [] + startScanning() + } + + func abandonIfStalled(_ target: CBPeripheral) { + Task { + try? await Task.sleep(for: .seconds(connectTimeout)) + guard link == .connecting, !hasRememberedPrinter, awaitedPeripheralID == target.identifier else { return } + central?.cancelPeripheralConnection(target) + resetLink() + printerName = nil + link = .idle + rescan() + } + } + + func stopScanning() { + central?.stopScan() + presenceTask?.cancel() + lastSeen = [:] + withAnimation(.snappy) { discovered = [] } + } + + func watchPresence() { + presenceTask?.cancel() + presenceTask = Task { + while !Task.isCancelled { + try? await Task.sleep(for: .seconds(1)) + let cutoff = Date.now.addingTimeInterval(-presenceTimeout) + let gone = Set(lastSeen.filter { $0.value < cutoff }.keys) + guard !gone.isEmpty else { continue } + for id in gone { + lastSeen[id] = nil + found[id] = nil + } + withAnimation(.snappy) { discovered.removeAll { gone.contains($0.id) } } + } + } + } +} diff --git a/Inkless/Printer/PrinterManager.swift b/Inkless/Printer/PrinterManager.swift new file mode 100644 index 0000000..7206b48 --- /dev/null +++ b/Inkless/Printer/PrinterManager.swift @@ -0,0 +1,430 @@ +import CoreBluetooth +import Observation +import SwiftUI + +@Observable +final class PrinterManager: NSObject { + enum Link: Equatable { + case bluetoothOff, unauthorized, idle, scanning, connecting, ready + } + + struct Discovered: Identifiable, Equatable { + let id: UUID + let name: String + var rssi: Int + } + + struct Job: Equatable { + enum Phase: Equatable { case preparing, sending, finishing } + + var phase: Phase + var rows: Int + var progress: Double + } + + var link: Link = .idle + var discovered: [Discovered] = [] + var printerName: String? + private(set) var status: MXW.Status? + private(set) var firmware: String? + private(set) var job: Job? + private(set) var hasRememberedPrinter = UserDefaults.standard.string(forKey: Keys.peripheral) != nil + + var density: Double = UserDefaults.standard.object(forKey: Keys.density) as? Double ?? 0.75 { + didSet { UserDefaults.standard.set(density, forKey: Keys.density) } + } + + var connectedThisSession: Set = [] + + var awaitedPeripheralID: UUID? { + peripheral?.identifier + } + + var isPrinting: Bool { + job != nil + } + + private enum Keys { + static let peripheral = "printer.peripheral" + static let name = "printer.name" + static let density = "printer.density" + static let dotSpeed = "printer.speed.dots" + static let graySpeed = "printer.speed.gray" + } + + private enum Pacing { + static let chunkLimit = 180 + static let chunkInterval = Duration.milliseconds(15) + static let flowHoldLimit = Duration.seconds(4) + static let assumedDotRowsPerSecond = 50.0 + static let assumedGrayRowsPerSecond = 12.0 + static let progressCeiling = 0.98 + } + + @ObservationIgnored var central: CBCentralManager? + @ObservationIgnored private var peripheral: CBPeripheral? + @ObservationIgnored var found: [UUID: CBPeripheral] = [:] + @ObservationIgnored var commandCharacteristic: CBCharacteristic? + @ObservationIgnored var dataCharacteristic: CBCharacteristic? + @ObservationIgnored private var waiters: [Waiter] = [] + @ObservationIgnored var writeReady: CheckedContinuation? + @ObservationIgnored private var flowHeld = false + @ObservationIgnored var lastSeen: [UUID: Date] = [:] + @ObservationIgnored var presenceTask: Task? + @ObservationIgnored private var sentFraction = 0.0 + @ObservationIgnored private var flowResumed: CheckedContinuation? + @ObservationIgnored private var headType = MXW.HeadType.unknown + @ObservationIgnored private var printTask: Task? + @ObservationIgnored private var statusPoll: Task? + + private struct Waiter { + let id: UUID + let match: (MXW.Notification) -> Bool + let continuation: CheckedContinuation + } + + let isDemo: Bool + + override init() { + #if targetEnvironment(simulator) + isDemo = true + #else + isDemo = ProcessInfo.processInfo.arguments.contains("-demo") + #endif + super.init() + printerName = UserDefaults.standard.string(forKey: Keys.name) + } + + func activate() { + if isDemo { + if link == .idle { + if hasRememberedPrinter { + demoConnect() + } else { + startScanning() + } + } + return + } + guard central == nil else { return } + central = CBCentralManager(delegate: self, queue: .main) + } + + func connect(_ device: Discovered) { + if isDemo { + remember(id: device.id, name: device.name) + connectedThisSession.insert(device.id) + printerName = device.name + demoConnect() + return + } + guard let target = found[device.id] else { return } + connect(target, name: device.name) + abandonIfStalled(target) + } + + func forgetPrinter() { + UserDefaults.standard.removeObject(forKey: Keys.peripheral) + UserDefaults.standard.removeObject(forKey: Keys.name) + if let peripheral { + central?.cancelPeripheralConnection(peripheral) + } + resetLink() + hasRememberedPrinter = false + printerName = nil + firmware = nil + link = .idle + startScanning() + } + + func refreshStatus() { + guard !isDemo else { return } + send(MXW.statusRequest()) + } + + func feedPaper() { + print(.dots(.blank(rows: MXW.minimumRows))) + } + + func print(_ raster: PrintRaster, onFinish: ((Result) -> Void)? = nil) { + guard printTask == nil else { return } + printTask = Task { + defer { printTask = nil } + do { + try await run(raster.padded(toMinimumHeight: MXW.minimumRows)) + withAnimation(.smooth) { job = nil } + onFinish?(.success(())) + } catch { + withAnimation(.smooth) { job = nil } + let failure = (error as? PrintError) ?? (error is CancellationError ? .cancelled : .timedOut) + if failure == .cancelled { + send(MXW.cancel()) + } + onFinish?(.failure(failure)) + } + } + } + + func cancelPrint() { + printTask?.cancel() + } + + func remember(id: UUID, name: String?) { + UserDefaults.standard.set(id.uuidString, forKey: Keys.peripheral) + UserDefaults.standard.set(name, forKey: Keys.name) + hasRememberedPrinter = true + } + + private func connect(_ target: CBPeripheral, name: String) { + peripheral = target + target.delegate = self + printerName = name + link = .connecting + central?.connect(target) + } + + func reconnectIfRemembered() { + guard let central, peripheral == nil, + let stored = UserDefaults.standard.string(forKey: Keys.peripheral), + let id = UUID(uuidString: stored), + let known = central.retrievePeripherals(withIdentifiers: [id]).first else { return } + connect(known, name: printerName ?? known.name ?? "MXW01") + } + + func resetLink() { + statusPoll?.cancel() + commandCharacteristic = nil + dataCharacteristic = nil + peripheral = nil + status = nil + for waiter in waiters { + waiter.continuation.resume(throwing: PrintError.linkLost) + } + waiters = [] + writeReady?.resume() + writeReady = nil + releaseFlow() + } + + private func run(_ raster: PrintRaster) async throws { + guard link == .ready else { throw PrintError.notConnected } + job = Job(phase: .preparing, rows: raster.height, progress: 0) + let paperTime = max(1.5, Double(raster.height) / measuredSpeed(gray: raster.isGray)) + if isDemo { + return try await demoPrint(duration: paperTime) + } + guard let peripheral, let dataCharacteristic else { throw PrintError.notConnected } + + let mode: MXW.PrintMode = raster.isGray ? .gray : .dots + send(MXW.density(MXW.compensatedDensity( + requested: Int((70 + density * 30).rounded()), temperature: status?.temperature ?? 0, + blackRatio: raster.blackRatio, head: headType, mode: mode + ))) + let current = try await request(MXW.statusRequest(), timeout: 3) { $0.isStatus } + if case let .status(status) = current, let fault = status.fault { + throw PrintError(fault) + } + + let reply = try await request(MXW.startPrint(rows: raster.height, mode: mode), timeout: 5) { $0.isPrintReply } + if case let .printRejected(code) = reply { + throw PrintError.rejected(code) + } + + job?.phase = .sending + sentFraction = 0 + let started = Date.now + let ticker = Task { + while !Task.isCancelled { + let timed = Date.now.timeIntervalSince(started) / paperTime + job?.progress = min(timed, sentFraction, Pacing.progressCeiling) + try? await Task.sleep(for: .milliseconds(80)) + } + } + defer { ticker.cancel() } + try await stream( + raster.payload(fourBitGray: MXW.usesFourBitGray(firmware: firmware)), + to: dataCharacteristic, + on: peripheral + ) + + job?.phase = .finishing + let completion = Task { try await self.wait(timeout: 30 + paperTime * 2) { $0 == .printComplete } } + send(MXW.flush()) + _ = try await withTaskCancellationHandler { try await completion.value } onCancel: { completion.cancel() } + recordSpeed(rows: raster.height, seconds: Date.now.timeIntervalSince(started), gray: raster.isGray) + job?.progress = 1 + } + + private func measuredSpeed(gray: Bool) -> Double { + let stored = UserDefaults.standard.double(forKey: gray ? Keys.graySpeed : Keys.dotSpeed) + return stored > 0 ? stored : gray ? Pacing.assumedGrayRowsPerSecond : Pacing.assumedDotRowsPerSecond + } + + private func recordSpeed(rows: Int, seconds: Double, gray: Bool) { + guard seconds > 1 else { return } + let key = gray ? Keys.graySpeed : Keys.dotSpeed + let stored = UserDefaults.standard.double(forKey: key) + let measured = Double(rows) / seconds + UserDefaults.standard.set(stored > 0 ? (stored + measured) / 2 : measured, forKey: key) + } + + private func stream(_ payload: Data, to characteristic: CBCharacteristic, on peripheral: CBPeripheral) async throws { + let chunkSize = max(20, min(peripheral.maximumWriteValueLength(for: .withoutResponse), Pacing.chunkLimit)) + var offset = 0 + while offset < payload.count { + try Task.checkCancellation() + guard link == .ready else { throw PrintError.linkLost } + await waitUntilWritable(peripheral) + let end = min(offset + chunkSize, payload.count) + peripheral.writeValue(payload.subdata(in: offset ..< end), for: characteristic, type: .withoutResponse) + offset = end + try await Task.sleep(for: Pacing.chunkInterval) + sentFraction = Double(offset) / Double(payload.count) + } + } + + func send(_ data: Data) { + guard let peripheral, let commandCharacteristic else { return } + peripheral.writeValue(data, for: commandCharacteristic, type: .withoutResponse) + } + + private func request( + _ data: Data, timeout: Double, expecting match: @escaping (MXW.Notification) -> Bool + ) async throws -> MXW.Notification { + let pending = Task { try await self.wait(timeout: timeout, for: match) } + await Task.yield() + send(data) + return try await withTaskCancellationHandler { try await pending.value } onCancel: { pending.cancel() } + } + + private func wait( + timeout: Double, for match: @escaping (MXW.Notification) -> Bool + ) async throws -> MXW.Notification { + let waiterID = UUID() + let timer = Task { + try await Task.sleep(for: .seconds(timeout)) + self.failWaiter(waiterID, with: PrintError.timedOut) + } + defer { timer.cancel() } + return try await withTaskCancellationHandler { + try await withCheckedThrowingContinuation { continuation in + waiters.append(Waiter(id: waiterID, match: match, continuation: continuation)) + } + } onCancel: { + Task { @MainActor in self.failWaiter(waiterID, with: CancellationError()) } + } + } + + private func failWaiter(_ id: UUID, with error: Error) { + guard let index = waiters.firstIndex(where: { $0.id == id }) else { return } + waiters.remove(at: index).continuation.resume(throwing: error) + } + + private func waitUntilWritable(_ peripheral: CBPeripheral) async { + if flowHeld { + let release = Task { + try await Task.sleep(for: Pacing.flowHoldLimit) + self.releaseFlow() + } + await withCheckedContinuation { flowResumed = $0 } + release.cancel() + } + if !peripheral.canSendWriteWithoutResponse { + await withCheckedContinuation { writeReady = $0 } + } + } + + private func releaseFlow() { + flowHeld = false + flowResumed?.resume() + flowResumed = nil + } +} + +extension PrinterManager { + func handle(_ notification: MXW.Notification) { + switch notification { + case let .status(new): + withAnimation(.smooth) { status = new } + case let .version(text, head): + firmware = text + headType = head + case let .challenge(challenge): + if let reply = MXW.challengeResponse(to: challenge) { + send(reply) + } + case .flowPause: + flowHeld = true + case .flowResume: + releaseFlow() + default: + break + } + for waiter in waiters where waiter.match(notification) { + guard let index = waiters.firstIndex(where: { $0.id == waiter.id }) else { continue } + waiters.remove(at: index).continuation.resume(returning: notification) + } + } + + func startStatusPolling() { + statusPoll?.cancel() + statusPoll = Task { + while !Task.isCancelled { + if !isPrinting { + send(MXW.statusRequest()) + } + try? await Task.sleep(for: .seconds(15)) + } + } + } + + private func demoConnect() { + link = .connecting + Task { + try? await Task.sleep(for: .seconds(0.9)) + withAnimation(.smooth) { + link = .ready + status = MXW.Status(activity: .idle, battery: 87, temperature: 31, fault: nil) + firmware = "MXW 2.1 D2" + } + } + } + + private func demoPrint(duration: Double) async throws { + try await Task.sleep(for: .seconds(0.4)) + let start = Date.now + while true { + try Task.checkCancellation() + let elapsed = Date.now.timeIntervalSince(start) / duration + if elapsed >= 1 { + break + } + job?.progress = elapsed + job?.phase = elapsed > 0.5 ? .finishing : .sending + try await Task.sleep(for: .milliseconds(50)) + } + job?.progress = 1 + } +} + +private extension PrintRaster { + var isGray: Bool { + if case .gray = self { + true + } else { + false + } + } + + func payload(fourBitGray: Bool) -> Data { + switch self { + case let .dots(bitmap): + return bitmap.packedRows() + case let .gray(bitmap): + if fourBitGray { + return bitmap.packedNibbles() + } + return bitmap.packedBytes() + } + } +} diff --git a/Inkless/UI/ImageSources.swift b/Inkless/UI/ImageSources.swift new file mode 100644 index 0000000..a9d40e1 --- /dev/null +++ b/Inkless/UI/ImageSources.swift @@ -0,0 +1,56 @@ +import ImageIO +import SwiftUI +import UIKit + +nonisolated enum ImageDecoding { + static func cgImage(from data: Data, maxPixelSize: Int = 2048) -> CGImage? { + guard let source = CGImageSourceCreateWithData(data as CFData, nil) else { return nil } + let options: [CFString: Any] = [ + kCGImageSourceCreateThumbnailFromImageAlways: true, + kCGImageSourceCreateThumbnailWithTransform: true, + kCGImageSourceThumbnailMaxPixelSize: maxPixelSize, + ] + return CGImageSourceCreateThumbnailAtIndex(source, 0, options as CFDictionary) + } +} + +struct CameraPicker: UIViewControllerRepresentable { + var onCapture: (CGImage) -> Void + @Environment(\.dismiss) private var dismiss + + func makeUIViewController(context: Context) -> UIImagePickerController { + let picker = UIImagePickerController() + picker.sourceType = UIImagePickerController.isSourceTypeAvailable(.camera) ? .camera : .photoLibrary + picker.delegate = context.coordinator + return picker + } + + func updateUIViewController(_: UIImagePickerController, context _: Context) {} + + func makeCoordinator() -> Coordinator { + Coordinator(self) + } + + final class Coordinator: NSObject, UIImagePickerControllerDelegate, UINavigationControllerDelegate { + private let parent: CameraPicker + init(_ parent: CameraPicker) { + self.parent = parent + } + + func imagePickerController( + _: UIImagePickerController, + didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any] + ) { + if let image = info[.originalImage] as? UIImage, + let data = image.jpegData(compressionQuality: 0.95), + let decoded = ImageDecoding.cgImage(from: data) { + parent.onCapture(decoded) + } + parent.dismiss() + } + + func imagePickerControllerDidCancel(_: UIImagePickerController) { + parent.dismiss() + } + } +} diff --git a/Inkless/UI/PairingSheet.swift b/Inkless/UI/PairingSheet.swift new file mode 100644 index 0000000..a476f2b --- /dev/null +++ b/Inkless/UI/PairingSheet.swift @@ -0,0 +1,144 @@ +import SwiftUI + +struct PairingSheet: View { + @Environment(PrinterManager.self) private var printer + @Environment(\.dismiss) private var dismiss + @State private var contentHeight: CGFloat = 460 + + var body: some View { + VStack(spacing: 0) { + HStack { + Spacer() + Button("Close", systemImage: "xmark") { dismiss() } + .labelStyle(.iconOnly) + .buttonStyle(.glass) + .buttonBorderShape(.circle) + } + + Text(title) + .font(.title.weight(.bold)) + .multilineTextAlignment(.center) + .contentTransition(.opacity) + Text(subtitle) + .foregroundStyle(.secondary) + .multilineTextAlignment(.center) + .lineLimit(2, reservesSpace: true) + .padding(.top, 6) + .contentTransition(.opacity) + + PrinterHero(dimmed: searching) + .frame(height: 200) + .background { + if searching { + SearchPulse() + } + } + .scaleEffect(searching ? 0.9 : 1) + .padding(.vertical, 12) + .animation(.bouncy, value: searching) + + action.frame(height: 52) + } + .padding(.horizontal, 24) + .padding(.top, 16) + .padding(.bottom, 8) + .onGeometryChange(for: CGFloat.self) { $0.size.height } action: { contentHeight = $0 } + .presentationDetents([.height(contentHeight)]) + .presentationDragIndicator(.hidden) + .animation(.smooth, value: printer.link) + .animation(.smooth, value: printer.discovered) + .sensoryFeedback(.impact(weight: .medium), trigger: printer.discovered.count) { _, new in new > 0 } + .sensoryFeedback(.success, trigger: printer.link) { _, new in new == .ready } + .onAppear { + if printer.link != .ready { + printer.rescan() + } + } + .onChange(of: printer.link) { _, link in + guard link == .ready else { return } + Task { + try? await Task.sleep(for: .seconds(1.4)) + dismiss() + } + } + } + + private var searching: Bool { + printer.link == .scanning && printer.discovered.isEmpty + } + + @ViewBuilder + private var action: some View { + switch printer.link { + case .ready: + Label("Connected", systemImage: "checkmark.circle.fill") + .font(.headline) + .foregroundStyle(.tint) + .symbolEffect(.bounce, value: printer.link) + .transition(.blurReplace) + case .connecting: + ProgressView() + .controlSize(.large) + .transition(.blurReplace) + case .bluetoothOff, .unauthorized: + Button("Open Settings") { + if let url = URL(string: UIApplication.openSettingsURLString) { + UIApplication.shared.open(url) + } + } + .buttonStyle(.glass) + .controlSize(.large) + default: + if let device = printer.discovered.max(by: { $0.rssi < $1.rssi }) { + Button { + printer.connect(device) + } label: { + Text("Connect").frame(maxWidth: .infinity) + } + .buttonStyle(.glassProminent) + .controlSize(.large) + .transition(.blurReplace) + } + } + } + + private var title: String { + switch printer.link { + case .bluetoothOff: "Bluetooth Is Off" + case .unauthorized: "Bluetooth Access Needed" + case .ready, .connecting: printer.printerName ?? "MXW01" + default: printer.discovered.first?.name ?? "Looking for Printer" + } + } + + private var subtitle: String { + switch printer.link { + case .ready: "Connected and ready to print." + case .bluetoothOff: "Turn Bluetooth on in Control Centre." + case .unauthorized: "Allow Inkless to use Bluetooth in Settings." + case .connecting: "Connecting…" + default: printer.discovered.isEmpty + ? "Hold the power button until the light comes on." + : "Thermal printer nearby." + } + } +} + +private struct SearchPulse: View { + @Environment(\.accessibilityReduceMotion) private var reduceMotion + + var body: some View { + TimelineView(.animation(paused: reduceMotion)) { timeline in + let time = timeline.date.timeIntervalSinceReferenceDate + ZStack { + ForEach(0 ..< 3) { ring in + let phase = (time / 2.4 + Double(ring) / 3).truncatingRemainder(dividingBy: 1) + Circle() + .stroke(.tint.opacity(0.35 * (1 - phase)), lineWidth: 1.5) + .scaleEffect(0.45 + phase * 0.55) + } + } + } + .frame(width: 240, height: 240) + } +} diff --git a/Inkless/UI/PaperView.swift b/Inkless/UI/PaperView.swift new file mode 100644 index 0000000..50d2ff3 --- /dev/null +++ b/Inkless/UI/PaperView.swift @@ -0,0 +1,200 @@ +import SwiftUI + +struct PaperView: View { + static let marginDots = 40 + static let paperDots = PrintHead.dots + marginDots * 2 + static let verticalMarginRatio = 0.6 + + let image: CGImage + let pixelsPerDot: Int + + @Environment(\.displayScale) private var displayScale + @Environment(\.colorScheme) private var colorScheme + + static func fittingPixelsPerDot(in available: CGFloat, displayScale: CGFloat) -> Int { + max(1, Int(available * displayScale) / paperDots) + } + + var body: some View { + let dot = CGFloat(pixelsPerDot) / displayScale + let margin = CGFloat(Self.marginDots) * dot + + Image(decorative: image, scale: 1) + .interpolation(.none) + .resizable() + .frame(width: CGFloat(image.width) * dot, height: CGFloat(image.height) * dot) + .padding(.horizontal, margin) + .padding(.vertical, margin * Self.verticalMarginRatio) + .background(.white, in: TornEdge(tooth: 3)) + .compositingGroup() + .brightness(colorScheme == .dark ? -0.08 : 0) + .shadow(color: .black.opacity(0.10), radius: 1, y: 1) + .shadow(color: .black.opacity(0.14), radius: 14, y: 8) + .accessibilityLabel("Print preview") + } +} + +nonisolated struct TornEdge: Shape { + var tooth: CGFloat + + func path(in rect: CGRect) -> Path { + let count = max(1, Int(rect.width / (tooth * 2))) + let step = rect.width / CGFloat(count) + var path = Path() + path.move(to: CGPoint(x: rect.minX, y: rect.minY + tooth)) + for index in 0 ..< count { + let x = rect.minX + CGFloat(index) * step + path.addLine(to: CGPoint(x: x + step / 2, y: rect.minY)) + path.addLine(to: CGPoint(x: x + step, y: rect.minY + tooth)) + } + path.addLine(to: CGPoint(x: rect.maxX, y: rect.maxY - tooth)) + for index in (0 ..< count).reversed() { + let x = rect.minX + CGFloat(index) * step + path.addLine(to: CGPoint(x: x + step / 2, y: rect.maxY)) + path.addLine(to: CGPoint(x: x, y: rect.maxY - tooth)) + } + path.closeSubpath() + return path + } +} + +struct PaperStage: View { + let image: CGImage + var original: CGImage? + var rotation = 0 + + @Environment(PrinterManager.self) private var printer + @Environment(AppModel.self) private var model + @Environment(\.displayScale) private var displayScale + @Environment(\.accessibilityReduceMotion) private var reduceMotion + + @State private var zoomed = false + @State private var comparing = false + + var body: some View { + GeometryReader { geometry in + let fit = PaperView.fittingPixelsPerDot(in: geometry.size.width - 64, displayScale: displayScale) + let factor = zoomed ? fit * 2 : fit + let paperHeight = CGFloat(image.height * factor) / displayScale + 60 + + ScrollView(zoomed ? [.horizontal, .vertical] : .vertical) { + paper(factor: factor) + .padding(.vertical, 24) + .padding(.horizontal, zoomed ? 24 : 0) + .frame(minWidth: geometry.size.width, minHeight: geometry.size.height) + .offset(y: feedOffset(paperHeight: paperHeight, stage: geometry.size.height)) + .id(model.completedJobs) + .transition(reduceMotion ? .opacity : .move(edge: .bottom).combined(with: .opacity)) + } + .scrollBounceBehavior(.basedOnSize) + .scrollDisabled(printer.isPrinting) + .animation(.smooth(duration: 0.5), value: model.completedJobs) + } + .mask(alignment: .top) { Rectangle().ignoresSafeArea(edges: printer.isPrinting ? [] : .top) } + .overlay(alignment: .top) { + if printer.isPrinting { + PrinterSlot().transition(.opacity) + } + } + .animation(.smooth, value: printer.isPrinting) + .sensoryFeedback(.impact(weight: .light), trigger: zoomed) + .sensoryFeedback(.selection, trigger: comparing) + } + + private func paper(factor: Int) -> some View { + PaperView(image: image, pixelsPerDot: factor) + .overlay { + if comparing, let original { + originalOverlay(original) + } + } + .overlay(alignment: .topLeading) { + if !zoomed, !printer.isPrinting { + PaperRuler(rows: image.height, pixelsPerDot: factor).offset(x: -34) + } + } + .onTapGesture(count: 2) { withAnimation(.snappy) { zoomed.toggle() } } + .onLongPressGesture(minimumDuration: 0.25, perform: {}, onPressingChanged: { pressing in + guard original != nil else { return } + withAnimation(.easeOut(duration: 0.15)) { comparing = pressing } + }) + .simultaneousGesture(MagnifyGesture().onEnded { value in + withAnimation(.snappy) { + if value.magnification > 1.15 { + zoomed = true + } + if value.magnification < 0.85 { + zoomed = false + } + } + }) + } + + private func feedOffset(paperHeight: CGFloat, stage: CGFloat) -> CGFloat { + guard let job = printer.job, !reduceMotion else { return 0 } + return -CGFloat(job.progress) * (max(paperHeight, stage) + 40) + } + + private func originalOverlay(_ original: CGImage) -> some View { + GeometryReader { geometry in + let margin = geometry.size.width * CGFloat(PaperView.marginDots) / CGFloat(PaperView.paperDots) + Image(decorative: original, scale: 1) + .resizable() + .rotationEffect(.degrees(Double(rotation) * 90)) + .scaledToFit() + .frame(width: geometry.size.width - margin * 2) + .frame(maxWidth: .infinity, maxHeight: .infinity) + .overlay(alignment: .top) { + Text("Original") + .font(.caption.weight(.semibold)) + .padding(.horizontal, 10) + .padding(.vertical, 5) + .glassEffect() + .padding(.top, 24) + } + } + .transition(.opacity) + } +} + +private struct PrinterSlot: View { + var body: some View { + Capsule() + .fill(.black.opacity(0.85)) + .frame(height: 6) + .padding(.horizontal, 28) + .shadow(color: .black.opacity(0.3), radius: 6, y: 3) + .accessibilityHidden(true) + } +} + +struct PaperRuler: View { + let rows: Int + let pixelsPerDot: Int + + @Environment(\.displayScale) private var displayScale + + var body: some View { + let millimetre = CGFloat(pixelsPerDot) * PrintHead.dotsPerMillimetre / displayScale + let top = CGFloat(PaperView.marginDots) * PaperView.verticalMarginRatio * CGFloat(pixelsPerDot) / displayScale + let length = Int(Double(rows) / PrintHead.dotsPerMillimetre) + + Canvas { context, _ in + for mark in stride(from: 0, through: length, by: 5) { + let y = top + CGFloat(mark) * millimetre + let major = mark.isMultiple(of: 10) + var tick = Path() + tick.move(to: CGPoint(x: major ? 20 : 24, y: y)) + tick.addLine(to: CGPoint(x: 30, y: y)) + context.stroke(tick, with: .color(.secondary.opacity(major ? 0.9 : 0.5)), lineWidth: 1) + if major { + let label = Text("\(mark)").font(.caption2.monospacedDigit()).foregroundStyle(.secondary) + context.draw(label, at: CGPoint(x: 16, y: y), anchor: .trailing) + } + } + } + .frame(width: 30, height: top + CGFloat(length) * millimetre + 8) + .dynamicTypeSize(.large) + .accessibilityHidden(true) + } +} diff --git a/Inkless/UI/PhotoControls.swift b/Inkless/UI/PhotoControls.swift new file mode 100644 index 0000000..c8a7e88 --- /dev/null +++ b/Inkless/UI/PhotoControls.swift @@ -0,0 +1,256 @@ +import SwiftUI + +struct PhotoControls: View { + let pro: Bool + + @State private var panel = Panel.launchDefault + + enum Panel: Hashable { + case style, tone + + static var launchDefault: Panel { + UserDefaults.standard.string(forKey: "panel") == "tone" ? .tone : .style + } + } + + var body: some View { + VStack(spacing: 12) { + if pro { + Group { + switch panel { + case .style: StylePanel() + case .tone: TonePanel() + } + } + .frame(height: 150) + .transition(.blurReplace) + + Picker("Panel", selection: $panel.animation(.smooth(duration: 0.3))) { + Text("Style").tag(Panel.style) + Text("Tone").tag(Panel.tone) + } + .pickerStyle(.segmented) + .frame(maxWidth: 220) + } else { + SimplePanel().transition(.blurReplace) + } + } + .padding(.top, 10) + .frame(maxWidth: .infinity) + } +} + +private struct SimplePanel: View { + @Environment(AppModel.self) private var model + + var body: some View { + @Bindable var photo = model.photo + + VStack(spacing: 14) { + HStack(spacing: 10) { + ForEach(Look.allCases) { look in + ProofTile(title: look.title, image: photo.proofs[look.style], selected: photo.look == look) { + photo.look = look + } + } + } + + Slider(value: $photo.settings.tone.brightness, in: -0.6 ... 0.6) { + Text("Brightness") + } minimumValueLabel: { + Image(systemName: "sun.min").foregroundStyle(.secondary) + } maximumValueLabel: { + Image(systemName: "sun.max.fill").foregroundStyle(.secondary) + } + .padding(.horizontal, 28) + } + .sensoryFeedback(.selection, trigger: photo.look) + } +} + +private struct StylePanel: View { + @Environment(AppModel.self) private var model + + var body: some View { + let photo = model.photo + + VStack(spacing: 8) { + ScrollViewReader { proxy in + ScrollView(.horizontal) { + HStack(spacing: 10) { + ForEach(PrintStyle.all) { style in + ProofTile(title: style.title, image: photo.proofs[style], selected: photo.settings.style == style) { + photo.settings.style = style + withAnimation(.snappy) { proxy.scrollTo(style, anchor: .center) } + } + .id(style) + } + } + .padding(.horizontal, 20) + .padding(.vertical, 4) + } + .scrollIndicators(.hidden) + .onAppear { proxy.scrollTo(photo.settings.style, anchor: .center) } + } + + Text(photo.settings.style.summary) + .font(.footnote) + .foregroundStyle(.secondary) + .lineLimit(2, reservesSpace: true) + .multilineTextAlignment(.center) + .padding(.horizontal, 24) + .contentTransition(.opacity) + .animation(.smooth(duration: 0.2), value: photo.settings.style) + } + .sensoryFeedback(.selection, trigger: photo.settings.style) + } +} + +private struct ProofTile: View { + static let side: CGFloat = 72 + + let title: String + let image: CGImage? + let selected: Bool + let action: () -> Void + + @Environment(\.displayScale) private var displayScale + + var body: some View { + Button(action: action) { + VStack(spacing: 5) { + Color.white + .overlay { + if let image { + Image(decorative: image, scale: displayScale).interpolation(.none) + } + } + .frame(width: Self.side, height: Self.side) + .clipShape(.rect(cornerRadius: 14, style: .continuous)) + .overlay { + RoundedRectangle(cornerRadius: 17, style: .continuous) + .strokeBorder(.tint, lineWidth: selected ? 2.5 : 0) + .padding(-4) + } + Text(title) + .font(.caption2.weight(selected ? .semibold : .regular)) + .foregroundStyle(selected ? .primary : .secondary) + .lineLimit(1) + .minimumScaleFactor(0.6) + .frame(width: Self.side + 8) + } + .padding(.top, 4) + } + .buttonStyle(.plain) + .accessibilityLabel(title) + .accessibilityAddTraits(selected ? .isSelected : []) + } +} + +private struct TonePanel: View { + @Environment(AppModel.self) private var model + @State private var parameter = Parameter.brightness + + enum Parameter: String, CaseIterable, Identifiable { + case brightness, contrast, gamma, sharpness + + var id: String { + rawValue + } + + var title: String { + switch self { + case .brightness: "Brightness" + case .contrast: "Contrast" + case .gamma: "Midtones" + case .sharpness: "Sharpness" + } + } + + var symbol: String { + switch self { + case .brightness: "sun.max.fill" + case .contrast: "circle.lefthalf.filled" + case .gamma: "circle.dotted.circle" + case .sharpness: "triangle" + } + } + + var range: ClosedRange { + self == .sharpness ? 0 ... 1 : -1 ... 1 + } + + var keyPath: WritableKeyPath { + switch self { + case .brightness: \.brightness + case .contrast: \.contrast + case .gamma: \.gamma + case .sharpness: \.sharpness + } + } + } + + var body: some View { + @Bindable var photo = model.photo + let value = $photo.settings.tone[dynamicMember: parameter.keyPath] + + VStack(spacing: 6) { + HStack { + Text(parameter.title).font(.footnote.weight(.semibold)).foregroundStyle(.secondary) + if !photo.settings.tone.isNeutral { + Button("Reset") { withAnimation(.snappy) { photo.resetTone() } } + .font(.footnote) + .transition(.opacity) + } + } + .frame(minHeight: 22) + + HStack(spacing: 18) { + ForEach(Parameter.allCases) { item in + Dial(parameter: item, value: photo.settings.tone[keyPath: item.keyPath], selected: item == parameter) { + withAnimation(.snappy) { parameter = item } + } + } + } + + RulerSlider(value: value, range: parameter.range, steps: parameter == .sharpness ? 20 : 40) + .id(parameter) + } + .sensoryFeedback(.selection, trigger: parameter) + } + + private struct Dial: View { + let parameter: Parameter + let value: Double + let selected: Bool + let action: () -> Void + + var body: some View { + Button(action: action) { + ZStack { + Circle().fill(selected ? AnyShapeStyle(.tint.opacity(0.16)) : AnyShapeStyle(.clear)) + Circle().stroke(.quaternary, lineWidth: 2) + Circle() + .trim(from: 0, to: abs(value)) + .stroke(.tint, style: StrokeStyle(lineWidth: 2, lineCap: .round)) + .rotationEffect(.degrees(-90)) + .scaleEffect(x: value < 0 ? -1 : 1) + if selected, value != 0 { + Text(Int((value * 100).rounded()), format: .number.sign(strategy: .always(includingZero: false))) + .font(.footnote.weight(.semibold).monospacedDigit()) + .contentTransition(.numericText(value: value)) + } else { + Image(systemName: parameter.symbol) + .foregroundStyle(selected ? .primary : .secondary) + } + } + .frame(width: 48, height: 48) + .contentShape(.circle) + } + .buttonStyle(.plain) + .accessibilityLabel(parameter.title) + .accessibilityValue(Text(Int((value * 100).rounded()), format: .number)) + .accessibilityAddTraits(selected ? .isSelected : []) + } + } +} diff --git a/Inkless/UI/PhotoScreen.swift b/Inkless/UI/PhotoScreen.swift new file mode 100644 index 0000000..e4c6800 --- /dev/null +++ b/Inkless/UI/PhotoScreen.swift @@ -0,0 +1,152 @@ +import PhotosUI +import SwiftUI +import UniformTypeIdentifiers + +struct PhotoScreen: View { + @Environment(AppModel.self) private var model + @AppStorage("photo.proControls") private var proControls = false + + @State private var pickedItem: PhotosPickerItem? + @State private var showingPhotos = false + @State private var showingCamera = false + @State private var showingFiles = false + @State private var importing = false + @State private var importFailed = false + + var body: some View { + let photo = model.photo + + NavigationStack { + ZStack { + if importing { + ProgressView("Loading Photo…") + } else if let preview = photo.preview { + PaperStage(image: preview, original: photo.source, rotation: photo.settings.rotation) + .toolbar { editingToolbar } + .transition(.opacity) + } else if photo.source != nil { + ProgressView() + } else { + emptyState.transition(.opacity) + } + } + .frame(maxWidth: .infinity, maxHeight: .infinity) + .safeAreaBar(edge: .bottom, spacing: 0) { + VStack(spacing: 10) { + if photo.preview != nil { + PhotoControls(pro: proControls) + } + PrinterBar() + } + } + .background(Color(.systemGroupedBackground)) + .navigationTitle(photo.source == nil ? "Photo" : "") + .toolbarTitleDisplayMode(photo.source == nil ? .large : .inline) + .animation(.smooth, value: photo.source == nil) + } + .photosPicker(isPresented: $showingPhotos, selection: $pickedItem, matching: .images, preferredItemEncoding: .current) + .alert("Couldn’t Load Photo", isPresented: $importFailed) { + Button("OK", role: .cancel) {} + } message: { + Text("The photo may still be downloading from iCloud. Try again in a moment.") + } + .fullScreenCover(isPresented: $showingCamera) { + CameraPicker { photo.load($0) }.ignoresSafeArea() + } + .fileImporter(isPresented: $showingFiles, allowedContentTypes: [.image]) { result in + guard case let .success(url) = result, url.startAccessingSecurityScopedResource() else { return } + defer { url.stopAccessingSecurityScopedResource() } + if let data = try? Data(contentsOf: url) { + load(data) + } + } + .onChange(of: pickedItem) { _, item in + guard let item else { return } + Task { + importing = true + defer { + importing = false + pickedItem = nil + } + guard let data = try? await item.loadTransferable(type: Data.self) else { + importFailed = true + return + } + load(data) + } + } + .onChange(of: proControls) { _, pro in + if !pro { + photo.applyLook() + } + } + } + + private func load(_ data: Data) { + guard let image = ImageDecoding.cgImage(from: data) else { return } + model.photo.load(image) + } + + private var emptyState: some View { + ContentUnavailableView { + Label("What Are We Printing?", systemImage: "photo.badge.plus") + } description: { + Text("Every dot you see on screen is a dot on paper: 384 across, no surprises.") + } actions: { + Button { + showingPhotos = true + } label: { + Label("Choose Photo", systemImage: "photo.on.rectangle").padding(.horizontal, 8) + } + .buttonStyle(.glassProminent) + .controlSize(.large) + + HStack(spacing: 12) { + Button("Camera", systemImage: "camera") { showingCamera = true } + Button("Files", systemImage: "folder") { showingFiles = true } + PasteButton(supportedContentTypes: [.image]) { providers in + _ = providers.first?.loadDataRepresentation(for: .image) { data, _ in + guard let data else { return } + Task { @MainActor in load(data) } + } + } + .buttonBorderShape(.capsule) + .labelStyle(.iconOnly) + } + .buttonStyle(.glass) + } + } + + @ToolbarContentBuilder + private var editingToolbar: some ToolbarContent { + let photo = model.photo + + ToolbarItem(placement: .topBarLeading) { + Menu("Picture", systemImage: "photo.badge.plus") { + Button("Choose Photo", systemImage: "photo.on.rectangle") { showingPhotos = true } + Button("Camera", systemImage: "camera") { showingCamera = true } + Button("Files", systemImage: "folder") { showingFiles = true } + Divider() + Button("Remove", systemImage: "trash", role: .destructive) { + withAnimation(.smooth) { photo.clear() } + } + } + } + ToolbarItemGroup(placement: .topBarTrailing) { + Button("Rotate", systemImage: "rotate.right") { + photo.settings.rotation = (photo.settings.rotation + 1) % 4 + } + Button( + "Invert", + systemImage: photo.settings.tone.inverted + ? "circle.righthalf.filled.inverse" : "circle.lefthalf.filled" + ) { + photo.settings.tone.inverted.toggle() + } + } + ToolbarSpacer(.fixed, placement: .topBarTrailing) + ToolbarItem(placement: .topBarTrailing) { + Toggle("All Controls", systemImage: "slider.horizontal.3", isOn: $proControls.animation(.smooth)) + } + } +} diff --git a/Inkless/UI/PrinterBar.swift b/Inkless/UI/PrinterBar.swift new file mode 100644 index 0000000..22117f9 --- /dev/null +++ b/Inkless/UI/PrinterBar.swift @@ -0,0 +1,46 @@ +import SwiftUI + +struct PrinterBar: View { + @Environment(AppModel.self) private var model + @Environment(PrinterManager.self) private var printer + @State private var appeared = false + + private var length: String? { + guard appeared, !printer.isPrinting, let printable = model.printable else { return nil } + return PaperLength.string(printable.lengthInMillimetres) + } + + var body: some View { + HStack(spacing: 0) { + PrinterStatus().frame(maxWidth: .infinity) + + if let length { + Button { + model.print() + } label: { + Text("Print · \(length)") + .font(.subheadline.weight(.semibold)) + .foregroundStyle(.white) + .contentTransition(.numericText()) + .padding(.leading, 16) + .padding(.trailing, 20) + .frame(maxHeight: .infinity) + .background { Rectangle().fill(.tint).padding(.trailing, -80) } + .contentShape(.rect) + } + .buttonStyle(.plain) + .disabled(printer.hasRememberedPrinter && printer.link != .ready) + .accessibilityLabel("Print, \(length) of paper") + .transition(.move(edge: .trailing).combined(with: .opacity)) + } + } + .frame(height: 48) + .clipShape(.capsule) + .glassEffect(.regular.interactive(), in: .capsule) + .padding(.horizontal, 16) + .padding(.bottom, 12) + .dynamicTypeSize(...DynamicTypeSize.xLarge) + .animation(.bouncy(duration: 0.5, extraBounce: 0.1), value: length) + .onAppear { appeared = true } + } +} diff --git a/Inkless/UI/PrinterScreen.swift b/Inkless/UI/PrinterScreen.swift new file mode 100644 index 0000000..a35cb03 --- /dev/null +++ b/Inkless/UI/PrinterScreen.swift @@ -0,0 +1,142 @@ +import SwiftUI + +struct PrinterScreen: View { + @Environment(AppModel.self) private var model + @Environment(PrinterManager.self) private var printer + @State private var confirmingForget = false + + var body: some View { + NavigationStack { + Group { + if printer.hasRememberedPrinter { + details + } else { + ContentUnavailableView { + Label("No Printer", systemImage: "printer") + } description: { + Text("Turn your MXW01 on and keep it close to your iPhone.") + } actions: { + Button("Find Printer") { model.isPairing = true } + .buttonStyle(.glassProminent) + .controlSize(.large) + } + } + } + .navigationTitle("Printer") + } + } + + private var details: some View { + @Bindable var printer = printer + + return List { + Section { + VStack(spacing: 12) { + PrinterHero(dimmed: printer.link != .ready) + .frame(height: 190) + VStack(spacing: 2) { + Text(printer.printerName ?? "MXW01").font(.title2.weight(.semibold)) + Text(linkDescription).font(.subheadline).foregroundStyle(.secondary) + .contentTransition(.opacity) + } + } + .frame(maxWidth: .infinity) + .listRowBackground(Color.clear) + .listRowInsets(.init()) + } + + if let status = printer.status { + Section { + LabeledContent { + Text(Double(status.battery) / 100, format: .percent).monospacedDigit() + } label: { + Label("Battery", systemImage: batterySymbol(status.battery)) + } + LabeledContent { + Text( + Measurement(value: Double(status.temperature), unit: UnitTemperature.celsius), + format: .measurement(width: .abbreviated) + ) + .monospacedDigit() + } label: { + Label("Print Head", systemImage: "thermometer.medium") + } + if let fault = status.fault { + Label(fault.title, systemImage: "exclamationmark.triangle.fill") + .foregroundStyle(.red) + } + } + } + + Section { + VStack(alignment: .leading, spacing: 10) { + Text("Darkness") + Slider(value: $printer.density, in: 0 ... 1) { + Text("Darkness") + } minimumValueLabel: { + Image(systemName: "circle.dotted").foregroundStyle(.secondary) + } maximumValueLabel: { + Image(systemName: "circle.fill").foregroundStyle(.secondary) + } + } + Button("Feed Paper", systemImage: "arrow.up.to.line") { printer.feedPaper() } + .disabled(printer.link != .ready || printer.isPrinting) + } footer: { + Text("Darker prints have more contrast but heat the head faster. Above 60 °C the heat is reduced automatically.") + } + + Section { + if let firmware = printer.firmware { + LabeledContent("Firmware", value: firmware) + } + LabeledContent("Print Width", value: "48 mm · 384 dots") + Button("Forget This Printer", role: .destructive) { confirmingForget = true } + } + } + .confirmationDialog("Forget this printer?", isPresented: $confirmingForget, titleVisibility: .visible) { + Button("Forget", role: .destructive) { withAnimation { printer.forgetPrinter() } } + } message: { + Text("You will need to connect it again before printing.") + } + .refreshable { printer.refreshStatus() } + } + + private var linkDescription: String { + switch printer.link { + case .ready: printer.isPrinting ? "Printing" : "Connected" + case .bluetoothOff: "Bluetooth is off" + case .unauthorized: "No Bluetooth access" + default: "Out of range · reconnects on its own" + } + } + + private func batterySymbol(_ level: Int) -> String { + switch level { + case ..<13: "battery.0percent" + case ..<38: "battery.25percent" + case ..<63: "battery.50percent" + case ..<88: "battery.75percent" + default: "battery.100percent" + } + } +} + +struct PrinterHero: View { + var dimmed = false + + var body: some View { + GeometryReader { geometry in + let side = min(geometry.size.width, geometry.size.height) + + Image(.printer) + .resizable() + .scaledToFit() + .frame(width: side, height: side) + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .bottom) + .saturation(dimmed ? 0.15 : 1) + .opacity(dimmed ? 0.7 : 1) + .animation(.smooth, value: dimmed) + } + .accessibilityHidden(true) + } +} diff --git a/Inkless/UI/RootView.swift b/Inkless/UI/RootView.swift new file mode 100644 index 0000000..9d9bbb4 --- /dev/null +++ b/Inkless/UI/RootView.swift @@ -0,0 +1,186 @@ +import SwiftUI + +struct RootView: View { + @Environment(AppModel.self) private var model + @Environment(PrinterManager.self) private var printer + @Environment(\.colorScheme) private var colorScheme + @State private var offered: Set = [] + + var body: some View { + @Bindable var model = model + + TabView(selection: $model.section) { + Tab("Photo", systemImage: "photo", value: AppModel.Section.photo) { + PhotoScreen() + } + Tab("Text", systemImage: "character.cursor.ibeam", value: AppModel.Section.text) { + TextScreen() + } + Tab("Printer", systemImage: "printer", value: AppModel.Section.printer) { + PrinterScreen() + } + } + .tint(model.photo.accentHue.map { ImageAccent.color(hue: $0, dark: colorScheme == .dark) }) + .animation(.smooth(duration: 0.6), value: model.photo.accentHue) + .sheet(isPresented: $model.isPairing) { + PairingSheet() + } + .alert(isPresented: failureBinding, error: model.failure) { _ in + Button("OK", role: .cancel) {} + } message: { error in + Text(error.recoverySuggestion ?? "") + } + .sensoryFeedback(.success, trigger: model.completedJobs) + .sensoryFeedback(.error, trigger: model.failure) { _, new in new != nil } + .task { printer.activate() } + .onChange(of: printer.discovered) { _, devices in + offered.formIntersection(devices.map(\.id)) + if model.isPairing { + offered.formUnion(devices.map(\.id)) + } + guard !printer.hasRememberedPrinter, !model.isPairing else { return } + let known = printer.connectedThisSession.union(offered) + guard let fresh = devices.first(where: { !known.contains($0.id) }) else { return } + offered.insert(fresh.id) + model.isPairing = true + } + } + + private var failureBinding: Binding { + Binding { model.failure != nil } set: { + if !$0 { + model.failure = nil + } + } + } +} + +struct PrinterStatus: View { + @Environment(AppModel.self) private var model + @Environment(PrinterManager.self) private var printer + var body: some View { + HStack(spacing: 12) { + if let job = printer.job { + progress(job) + } else { + state + if !printer.hasRememberedPrinter { + Image(systemName: "chevron.right").font(.footnote.weight(.semibold)).foregroundStyle(.tertiary) + } + } + } + .padding(.leading, 16) + .padding(.trailing, 14) + .animation(.smooth, value: printer.link) + .animation(.smooth, value: printer.isPrinting) + } + + private var state: some View { + Button { + if printer.link == .ready { + model.section = .printer + } else { + model.isPairing = true + } + } label: { + HStack(spacing: 10) { + LinkGlyph(link: printer.link, fault: printer.status?.fault != nil, nearby: nearby != nil) + VStack(alignment: .leading, spacing: 0) { + Text(printer.printerName ?? nearby?.name ?? "No Printer").font(.subheadline.weight(.semibold)) + Text(subtitle).font(.caption).foregroundStyle(.secondary) + .contentTransition(.numericText()) + } + .lineLimit(1) + Spacer(minLength: 0) + } + .frame(maxWidth: .infinity, minHeight: 44) + .contentShape(.rect) + } + .buttonStyle(.plain) + .accessibilityElement(children: .combine) + .accessibilityHint(printer.link == .ready ? "Opens printer details" : "Looks for a printer") + } + + private var nearby: PrinterManager.Discovered? { + printer.hasRememberedPrinter ? nil : printer.discovered.first + } + + private var subtitle: String { + if !printer.hasRememberedPrinter { + return nearby == nil ? "Keep your MXW01 nearby" : "Nearby · Tap to connect" + } + switch printer.link { + case .bluetoothOff: return "Bluetooth is off" + case .unauthorized: return "No Bluetooth access" + case .idle, .scanning, .connecting: return "Searching…" + case .ready: + guard let status = printer.status else { return "Ready" } + if let fault = status.fault { + return fault.title + } + return "Ready · \(status.battery)%" + } + } + + private func progress(_ job: PrinterManager.Job) -> some View { + HStack(spacing: 8) { + VStack(alignment: .leading, spacing: 4) { + Text(job.phase == .finishing ? "Printing…" : "Sending…") + .font(.subheadline.weight(.semibold)) + ProgressView(value: job.progress) + } + Button("Cancel", systemImage: "xmark") { printer.cancelPrint() } + .labelStyle(.iconOnly) + .buttonStyle(.glass) + .buttonBorderShape(.circle) + .frame(minWidth: 44, minHeight: 44) + .contentShape(.rect) + } + .transition(.blurReplace) + } +} + +struct LinkGlyph: View { + let link: PrinterManager.Link + let fault: Bool + var nearby = false + + var body: some View { + Image(systemName: symbol) + .font(.title3) + .symbolRenderingMode(.hierarchical) + .foregroundStyle(style) + .symbolEffect(.variableColor.iterative, options: .repeat(.continuous), isActive: searching && !nearby) + .contentTransition(.symbolEffect(.replace)) + .frame(width: 28) + .accessibilityHidden(true) + } + + private var searching: Bool { + link == .connecting || link == .scanning + } + + private var symbol: String { + switch link { + case .bluetoothOff, .unauthorized: "antenna.radiowaves.left.and.right.slash" + case .idle, .scanning, .connecting: "dot.radiowaves.left.and.right" + case .ready: fault ? "exclamationmark.triangle.fill" : "printer.fill" + } + } + + private var style: AnyShapeStyle { + guard link == .ready else { return nearby ? AnyShapeStyle(.tint) : AnyShapeStyle(.secondary) } + return fault ? AnyShapeStyle(.red) : AnyShapeStyle(.tint) + } +} + +enum PaperLength { + static func string(_ millimetres: Double) -> String { + let unit: UnitLength = millimetres < 100 ? .millimeters : .centimeters + let value = Measurement(value: millimetres, unit: UnitLength.millimeters).converted(to: unit) + let digits = unit == .millimeters ? 0 : 1 + return value.formatted(.measurement( + width: .abbreviated, usage: .asProvided, numberFormatStyle: .number.precision(.fractionLength(digits)) + )) + } +} diff --git a/Inkless/UI/RulerSlider.swift b/Inkless/UI/RulerSlider.swift new file mode 100644 index 0000000..fa44bf9 --- /dev/null +++ b/Inkless/UI/RulerSlider.swift @@ -0,0 +1,64 @@ +import SwiftUI + +struct RulerSlider: View { + @Binding var value: Double + var range: ClosedRange = -1 ... 1 + var steps = 40 + + @State private var dragStart: Double? + @ScaledMetric private var height = 44.0 + + private let tickSpacing: CGFloat = 9 + + var body: some View { + let span = range.upperBound - range.lowerBound + let stepValue = span / Double(steps) + let position = (value - range.lowerBound) / stepValue + + Canvas { context, size in + let centre = size.width / 2 + let origin = (0 - range.lowerBound) / stepValue + for index in 0 ... steps { + let x = centre + (CGFloat(index) - CGFloat(position)) * tickSpacing + guard x > -2, x < size.width + 2 else { continue } + let major = (index - Int(origin.rounded())).isMultiple(of: 5) + let fade = 1 - pow(abs(x - centre) / centre, 2) + var tick = Path() + tick.move(to: CGPoint(x: x, y: size.height - (major ? 18 : 11))) + tick.addLine(to: CGPoint(x: x, y: size.height - 2)) + context.stroke( + tick, + with: .color(.primary.opacity((major ? 0.75 : 0.35) * fade)), + style: StrokeStyle(lineWidth: major ? 1.5 : 1, lineCap: .round) + ) + } + if range.contains(0) { + let zero = centre + (CGFloat(origin) - CGFloat(position)) * tickSpacing + context.fill( + Path(ellipseIn: CGRect(x: zero - 2, y: size.height - 26, width: 4, height: 4)), + with: .color(.secondary) + ) + } + } + .frame(height: height) + .overlay(alignment: .bottom) { + Capsule().fill(.tint).frame(width: 3, height: 26) + } + .contentShape(.rect) + .gesture( + DragGesture(minimumDistance: 1) + .onChanged { drag in + let start = dragStart ?? value + dragStart = start + let moved = Double(-drag.translation.width / tickSpacing) * stepValue + let snapped = ((start + moved) / stepValue).rounded() * stepValue + value = min(max(snapped, range.lowerBound), range.upperBound) + } + .onEnded { _ in dragStart = nil } + ) + .sensoryFeedback(.selection, trigger: Int((value / stepValue).rounded())) + .accessibilityRepresentation { + Slider(value: $value, in: range, step: stepValue) + } + } +} diff --git a/Inkless/UI/TextScreen.swift b/Inkless/UI/TextScreen.swift new file mode 100644 index 0000000..c570829 --- /dev/null +++ b/Inkless/UI/TextScreen.swift @@ -0,0 +1,98 @@ +import SwiftUI + +struct TextScreen: View { + @Environment(AppModel.self) private var model + @FocusState private var editing: Bool + + var body: some View { + let text = model.text + + NavigationStack { + ZStack { + if let preview = text.preview { + PaperStage(image: preview) + .onTapGesture { editing = false } + } else { + ContentUnavailableView { + Label("A Note on Paper", systemImage: "text.alignleft") + } description: { + Text("A shopping list, a reminder, a gift tag. Text prints crisp, with no grain.") + } + } + } + .frame(maxWidth: .infinity, maxHeight: .infinity) + .background(Color(.systemGroupedBackground)) + .safeAreaBar(edge: .bottom, spacing: 0) { + VStack(spacing: 10) { + composer + PrinterBar() + } + } + .navigationTitle(text.preview == nil ? "Text" : "") + .toolbarTitleDisplayMode(text.preview == nil ? .large : .inline) + .toolbar { + ToolbarItemGroup(placement: .keyboard) { + Spacer() + Button("Done") { editing = false }.fontWeight(.semibold) + } + if !text.text.isEmpty { + ToolbarItem(placement: .topBarTrailing) { + Button("Clear", systemImage: "trash") { + withAnimation(.smooth) { text.text = "" } + } + } + } + } + } + } + + private var composer: some View { + @Bindable var text = model.text + + return VStack(spacing: 10) { + HStack(spacing: 12) { + Menu { + Picker("Font", selection: $text.style.face) { + ForEach(TextStyle.Face.allCases) { face in + Text(face.title).tag(face) + } + } + Toggle("Bold", systemImage: "bold", isOn: $text.style.bold) + Toggle("Checklist", systemImage: "checklist", isOn: $text.style.checklist) + } label: { + Image(systemName: "textformat") + .frame(width: 28, height: 28) + } + .buttonStyle(.glass) + .buttonBorderShape(.circle) + .accessibilityLabel("Format") + + Picker("Alignment", selection: $text.style.alignment) { + Image(systemName: "text.alignleft").tag(NSTextAlignment.left) + .accessibilityLabel("Left") + Image(systemName: "text.aligncenter").tag(NSTextAlignment.center) + .accessibilityLabel("Centre") + } + .pickerStyle(.segmented) + .frame(width: 104) + + Spacer(minLength: 0) + + Stepper("Size", value: $text.style.size, in: 20 ... 96, step: 4) + .labelsHidden() + .accessibilityValue(Text("\(Int(text.style.size / PrintHead.dotsPerMillimetre)) millimetres")) + } + .frame(minHeight: 44) + + TextField("Text to print", text: $text.text, axis: .vertical) + .lineLimit(1 ... 5) + .focused($editing) + .padding(.horizontal, 16) + .padding(.vertical, 11) + .glassEffect(.regular, in: .rect(cornerRadius: 22, style: .continuous)) + } + .padding(.horizontal, 16) + .padding(.top, 10) + .sensoryFeedback(.selection, trigger: text.style) + } +} diff --git a/InklessTests/ImagingTests.swift b/InklessTests/ImagingTests.swift new file mode 100644 index 0000000..b30e2b8 --- /dev/null +++ b/InklessTests/ImagingTests.swift @@ -0,0 +1,44 @@ +import Foundation +@testable import Inkless +import Testing + +struct ImagingTests { + @Test func packsLeftmostDotIntoLowestBit() { + var dots = [UInt8](repeating: 0, count: 16) + dots[0] = 1 + dots[9] = 1 + let bitmap = DotBitmap(width: 16, height: 1, dots: dots) + #expect([UInt8](bitmap.packedRows()) == [0b0000_0001, 0b0000_0010]) + } + + @Test func packsGrayAsInvertedNibblesHighFirst() { + let bitmap = GrayBitmap(width: 4, height: 1, luma: [255, 0, 128, 16]) + #expect([UInt8](bitmap.packedNibbles()) == [0x0F, 0x7E]) + } + + @Test func padsShortJobsWithPaper() { + let raster = PrintRaster.dots(.blank(rows: 10)).padded(toMinimumHeight: 90) + #expect(raster.height == 90) + #expect(raster.blackRatio == 0) + } + + @Test(arguments: DitherAlgorithm.allCases) + func ditherKeepsExtremesAndAverageTone(algorithm: DitherAlgorithm) { + let side = 64 + let white = algorithm.apply(to: .init(repeating: 1, count: side * side), width: side, height: side) + let black = algorithm.apply(to: .init(repeating: 0, count: side * side), width: side, height: side) + #expect(white.allSatisfy { $0 == 0 }) + #expect(black.allSatisfy { $0 == 1 }) + + guard algorithm != .threshold else { return } + let grey = algorithm.apply(to: .init(repeating: 0.5, count: side * side), width: side, height: side) + let ratio = Double(grey.reduce(0) { $0 + Int($1) }) / Double(grey.count) + #expect(abs(ratio - 0.5) < 0.15) + } + + @Test func textRendersToHeadWidth() throws { + let raster = try #require(TextRenderer.render("Milk\nBread", style: TextStyle())) + #expect(raster.width == PrintHead.dots) + #expect(raster.blackRatio > 0) + } +} diff --git a/InklessTests/ProtocolTests.swift b/InklessTests/ProtocolTests.swift new file mode 100644 index 0000000..59ca5a2 --- /dev/null +++ b/InklessTests/ProtocolTests.swift @@ -0,0 +1,59 @@ +import Foundation +@testable import Inkless +import Testing + +struct ProtocolTests { + @Test func crcMatchesVendorFrames() { + #expect(MXW.crc8([0x5D]) == 0x94) + #expect(MXW.crc8([0x00]) == 0x00) + } + + @Test func framesMatchVendorBytes() { + #expect(MXW.density(93).hexString == "2221A20001005D94FF") + #expect(MXW.startPrint(rows: 384, mode: .dots).hexString == "2221A9000400800130000000") + #expect(MXW.startPrint(rows: 384, mode: .gray).hexString == "2221A9000400800130020000") + #expect(MXW.flush().hexString == "2221AD000100000000") + #expect(MXW.cancel().hexString == "2221AC0001000000FF") + #expect(MXW.versionRequest().hexString == "2221B10001000000FF") + } + + @Test func challengeReplyMatchesReferenceEncoder() throws { + let challenge: [UInt8] = [0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99] + let reply = try #require(MXW.challengeResponse(to: challenge, now: Date(timeIntervalSince1970: 1_234_567_895.678))) + #expect(reply.hexString == "2221B3002200834EF9578D0451A26B80DAD95BAEDFC6352026B9F2D7C0D3CB1702488E5738E4868D00FF") + } + + @Test func parsesStatus() throws { + let data = try #require(Data(hexString: "2221A1010900" + "01" + "0000" + "57" + "1F" + "00" + "01" + "04" + "00" + "00FF")) + let expected = MXW.Status(activity: .printing, battery: 87, temperature: 31, fault: .overheated) + #expect(MXW.parse(data) == .status(expected)) + } + + @Test func parsesBothFlowControlForms() throws { + #expect(try MXW.parse(#require(Data(hexString: "2221AE0101001070FF"))) == .flowPause) + #expect(try MXW.parse(#require(Data(hexString: "2221AE0101000000FF"))) == .flowResume) + #expect(try MXW.parse(#require(Data(hexString: "2221AE0001000000"))) == .flowPause) + #expect(try MXW.parse(#require(Data(hexString: "2221AE0001001000"))) == .flowResume) + } + + @Test func parsesFirmwareAndHeadType() throws { + let text = "MXW 2.1 2" + let payload = text.utf8.map { String(format: "%02X", $0) }.joined() + let data = try #require(Data(hexString: "2221B1010900" + payload + "00FF")) + #expect(MXW.parse(data) == .version(text, .highVoltage)) + } + + @Test func grayDepthFollowsFirmware() { + #expect(MXW.usesFourBitGray(firmware: nil)) + #expect(MXW.usesFourBitGray(firmware: "MXW 2.1 2")) + #expect(!MXW.usesFourBitGray(firmware: "MXW 1.9 1")) + #expect(!MXW.usesFourBitGray(firmware: "MXW 2.0 1")) + } + + @Test func densityDropsOnlyWhenHot() { + let cool = MXW.compensatedDensity(requested: 93, temperature: 40, blackRatio: 0.8, head: .highVoltage, mode: .dots) + let hot = MXW.compensatedDensity(requested: 93, temperature: 66, blackRatio: 0.8, head: .highVoltage, mode: .dots) + #expect(cool == 93) + #expect(hot == 5) + } +} diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6526a78 --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +SCHEME := Inkless +DESTINATION ?= platform=iOS Simulator,name=iPhone 17 Pro +XCODEBUILD := xcodebuild -project Inkless.xcodeproj -scheme $(SCHEME) -derivedDataPath build -quiet + +.PHONY: fmt check test art + +fmt: + swiftformat . + +check: + swiftformat --lint . + swiftlint --strict --quiet + $(XCODEBUILD) -destination 'generic/platform=iOS Simulator' build + +test: + $(XCODEBUILD) -destination '$(DESTINATION)' test + +art: + for s in 1 2 3; do rsvg-convert -w $$((240*s)) -h $$((240*s)) Design/printer.svg -o Inkless/Assets.xcassets/Printer.imageset/printer@$${s}x.png; done diff --git a/README.md b/README.md new file mode 100644 index 0000000..b3bb526 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +# Inkless + +A native iPhone app for the MXW01 "cat" thermal printer. It talks to the printer directly over Bluetooth: no account, no server, no ads. + +

+ Photo + Text + Printer +

+ +Photos with 16 dithering styles or HD grayscale, text notes and checklists. The preview is drawn dot for dot, so what you see is what prints. + +## Build + +Needs Xcode 26+, iOS 26+. + +```sh +cp Config/Signing.example.xcconfig Config/Signing.xcconfig # set your team and bundle prefix +open Inkless.xcodeproj +``` + +`make fmt`, `make check`, `make test`. diff --git a/Screenshots/photo.png b/Screenshots/photo.png new file mode 100644 index 0000000000000000000000000000000000000000..226c9d4eab4564bf8a582f19060401f25afd4a78 GIT binary patch literal 248680 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

xs2bQk)?_IV5tpq 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 z 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 literal 0 HcmV?d00001 diff --git a/Screenshots/text.png b/Screenshots/text.png new file mode 100644 index 0000000000000000000000000000000000000000..18cb3ef29ec042574fb4816d2060796f34afc63e GIT binary patch literal 66810 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 P;E$@3mSTy#WzhcsFPq8z literal 0 HcmV?d00001