EFQRCode is a pure-Swift, cross-platform Apple framework for generating stylized and highly customizable QR codes, and for recognizing QR codes from images. The core production code exposes two primary entry points: `EFQRCode.Generator` and `EFQRCode.Recognizer`. The generator accepts text/data input, encodes it using the external `QRCodeSwift` package, maps the resulting matrix through a strategy-based style hierarchy (`EFQRCodeStyleBasic`, `EFQRCodeStyleBubble`, `EFQRCodeStyleLine`, `EFQRCodeStyle25D`, `EFQRCodeStyleImage`, etc.), and produces SVG representations which are then rasterized by `SwiftDraw` into static images, PDFs, GIFs, APNGs, or AVFoundation-backed video files. The recognizer uses CoreImage-based detection with grayscale fallback and result caching. The library is heavily documented, supports iOS, macOS, tvOS, watchOS, and visionOS, and is distributed through SPM, CocoaPods, and Carthage. The `Examples/` directory contains demo apps for each platform that act as integration-style usage references, but these are example clients rather than the core deliverable. This is definitively an application/library repository; there are no data pipelines, notebooks, or research artifacts.
The DualQRCode repository is a client-side web application built with React and Vite that generates a single QR code capable of encoding two different URLs. The application allows users to input two URLs, select a pixel split pattern (vertical, horizontal, or diagonal), optionally invert the URLs, and choose a QR version. It then generates two separate QR codes using the qrcode library with high error correction level (H), and combines them by splitting pixels where the two codes differ, based on the selected pattern. The result is a downloadable PNG image that, when scanned from different angles, may reveal either URL due to the ambiguity and error correction. The architecture follows a standard React SPA structure: src/main.jsx entry point, src/App.jsx for routing, src/components/Layout.jsx for consistent layout (header, footer), and src/pages/Home.jsx and src/pages/About.jsx for the main content. Styling is handled via CSS modules (in src/App.css and src/index.css) using CSS variables. The core QR code generation logic resides in Home.jsx, where it validates inputs, determines the appropriate QR version, generates base QR codes, and renders the combined image on an HTML canvas. The application demonstrates good engineering practices with clear separation of concerns, use of modern React hooks, and responsive design. However, the Home.jsx file is somewhat lengthy and could benefit from refactoring into smaller components or custom hooks. Additionally, the jimp dependency is listed but unused in the provided source code, indicating potential cleanup is needed.