scry/lib/recognition/index.ts
Chris Kruining 83ab4df537
Migrate from .NET MAUI to Expo + Convex
Complete rewrite of Scry using TypeScript stack:

- Expo/React Native with Expo Router (file-based routing)
- Convex backend (serverless functions + real-time database)
- Adaptive camera system (expo-camera in Expo Go, Vision Camera in production)
- React Native Skia + fast-opencv for image processing
- GDPR-compliant auth setup with Zitadel OIDC (pending configuration)

Key features:
- Card recognition pipeline ported to TypeScript
- Perceptual hashing (192-bit color pHash)
- CLAHE preprocessing for lighting normalization
- Local SQLite cache with Convex sync
- Collection management with offline support

Removes all .NET/MAUI code (src/, test/, tools/).

💘 Generated with Crush

Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
2026-02-09 16:16:34 +01:00

67 lines
1.1 KiB
TypeScript

/**
* Card recognition module exports.
*/
// Recognition service
export {
recognizeCard,
computeImageHash,
calculateConfidence,
createRecognitionService,
type RecognitionOptions,
type RecognitionResult,
type CardMatch,
type CardHashEntry,
} from "./recognitionService";
// Card detection
export {
detectCard,
type CardDetectionResult,
} from "./cardDetector";
// Perspective correction
export {
warpPerspective,
OUTPUT_WIDTH,
OUTPUT_HEIGHT,
} from "./perspectiveCorrection";
// CLAHE preprocessing
export { applyCLAHE } from "./clahe";
// Perceptual hashing
export {
computeColorHash,
hammingDistance,
hashToHex,
hexToHash,
HASH_VERSION,
MATCH_THRESHOLD,
HASH_BITS,
} from "./perceptualHash";
// Image utilities
export {
resizeImage,
rotateImage,
toGrayscale,
grayscaleToRgba,
gaussianBlur,
distance,
type Point,
type Size,
} from "./imageUtils";
// Image loading
export {
loadImageForRecognition,
loadImageAsBase64,
} from "./imageLoader";
// Skia image decoding
export {
decodeImageBase64,
decodeImageFromUri,
useDecodedImage,
} from "./skiaDecoder";