@jaak.ai/stamps 2.0.0-dev.40 → 2.0.0-dev.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +4 -1
  2. package/dist/cjs/jaak-stamps-webcomponent.cjs.js +1 -1
  3. package/dist/cjs/jaak-stamps.cjs.entry.js +868 -11
  4. package/dist/cjs/jaak-stamps.cjs.entry.js.map +1 -1
  5. package/dist/cjs/jaak-stamps.entry.cjs.js.map +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/components/my-component/my-component.css +66 -0
  8. package/dist/collection/components/my-component/my-component.js +494 -8
  9. package/dist/collection/components/my-component/my-component.js.map +1 -1
  10. package/dist/collection/services/CameraService.js +161 -0
  11. package/dist/collection/services/CameraService.js.map +1 -1
  12. package/dist/collection/services/DetectionService.js +164 -1
  13. package/dist/collection/services/DetectionService.js.map +1 -1
  14. package/dist/collection/services/ImageQualityService.js +329 -0
  15. package/dist/collection/services/ImageQualityService.js.map +1 -0
  16. package/dist/collection/services/ServiceContainer.js +6 -1
  17. package/dist/collection/services/ServiceContainer.js.map +1 -1
  18. package/dist/collection/services/interfaces/ICameraService.js.map +1 -1
  19. package/dist/collection/services/interfaces/IDetectionService.js.map +1 -1
  20. package/dist/collection/services/interfaces/IImageQualityService.js +2 -0
  21. package/dist/collection/services/interfaces/IImageQualityService.js.map +1 -0
  22. package/dist/components/jaak-stamps.js +885 -12
  23. package/dist/components/jaak-stamps.js.map +1 -1
  24. package/dist/esm/jaak-stamps-webcomponent.js +1 -1
  25. package/dist/esm/jaak-stamps.entry.js +868 -11
  26. package/dist/esm/jaak-stamps.entry.js.map +1 -1
  27. package/dist/esm/loader.js +1 -1
  28. package/dist/jaak-stamps-webcomponent/jaak-stamps-webcomponent.esm.js +1 -1
  29. package/dist/jaak-stamps-webcomponent/jaak-stamps.entry.esm.js.map +1 -1
  30. package/dist/jaak-stamps-webcomponent/p-47f37982.entry.js +2 -0
  31. package/dist/jaak-stamps-webcomponent/p-47f37982.entry.js.map +1 -0
  32. package/dist/types/components/my-component/my-component.d.ts +48 -0
  33. package/dist/types/components.d.ts +65 -0
  34. package/dist/types/services/CameraService.d.ts +5 -0
  35. package/dist/types/services/DetectionService.d.ts +22 -2
  36. package/dist/types/services/ImageQualityService.d.ts +31 -0
  37. package/dist/types/services/ServiceContainer.d.ts +7 -0
  38. package/dist/types/services/interfaces/ICameraService.d.ts +2 -0
  39. package/dist/types/services/interfaces/IDetectionService.d.ts +13 -0
  40. package/dist/types/services/interfaces/IImageQualityService.d.ts +58 -0
  41. package/package.json +1 -1
  42. package/dist/jaak-stamps-webcomponent/p-c30c7b47.entry.js +0 -2
  43. package/dist/jaak-stamps-webcomponent/p-c30c7b47.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IDetectionService.js","sourceRoot":"","sources":["../../../src/services/interfaces/IDetectionService.ts"],"names":[],"mappings":"","sourcesContent":["export interface DetectionBox {\n x: number;\n y: number;\n w: number;\n h: number;\n score: number;\n classId?: number;\n}\n\nexport interface SideAlignment {\n top: boolean;\n right: boolean;\n bottom: boolean;\n left: boolean;\n}\n\nexport interface ClassificationResult {\n class: string;\n confidence: number;\n classIndex: number;\n}\n\nexport interface IDetectionService {\n loadModel(): Promise<void>;\n loadClassificationModel(): Promise<void>;\n isModelLoaded(): boolean;\n preprocess(video: HTMLVideoElement): any;\n runInference(inputTensor: any): Promise<DetectionBox[]>;\n classifyDocument(canvas: HTMLCanvasElement): Promise<ClassificationResult | null>;\n checkSideAlignment(box: DetectionBox, maskConfig: any): SideAlignment;\n isCardInFrame(box: DetectionBox): boolean;\n areAllSidesAligned(alignment: SideAlignment): boolean;\n cleanup(): void;\n}"]}
1
+ {"version":3,"file":"IDetectionService.js","sourceRoot":"","sources":["../../../src/services/interfaces/IDetectionService.ts"],"names":[],"mappings":"","sourcesContent":["export interface DetectionBox {\n x: number;\n y: number;\n w: number;\n h: number;\n score: number;\n classId?: number;\n}\n\nexport interface SideAlignment {\n top: boolean;\n right: boolean;\n bottom: boolean;\n left: boolean;\n}\n\nexport interface ClassificationResult {\n class: string;\n confidence: number;\n classIndex: number;\n}\n\nexport interface QualityThresholds {\n minQualityScore?: number;\n minFocusScore?: number;\n minBlurScore?: number;\n maxReflectionScore?: number;\n}\n\nexport interface IDetectionService {\n loadModel(): Promise<void>;\n loadClassificationModel(): Promise<void>;\n isModelLoaded(): boolean;\n preprocess(video: HTMLVideoElement): any;\n runInference(inputTensor: any): Promise<DetectionBox[]>;\n classifyDocument(canvas: HTMLCanvasElement): Promise<ClassificationResult | null>;\n checkSideAlignment(box: DetectionBox, maskConfig: any): SideAlignment;\n isCardInFrame(box: DetectionBox): boolean;\n areAllSidesAligned(alignment: SideAlignment): boolean;\n validateImageQuality(video: HTMLVideoElement, detectedBox?: DetectionBox): any;\n isImageQualityAcceptable(qualityResult: any): boolean;\n getQualityFeedback(qualityResult: any): string;\n runInferenceWithQuality(inputTensor: any, video: HTMLVideoElement): Promise<any>;\n getQuickQualityFeedback(video: HTMLVideoElement): any;\n updateQualityThresholds(thresholds: QualityThresholds): void;\n getQualityThresholds(): QualityThresholds;\n cleanup(): void;\n}"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IImageQualityService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IImageQualityService.js","sourceRoot":"","sources":["../../../src/services/interfaces/IImageQualityService.ts"],"names":[],"mappings":"","sourcesContent":["export interface BlurMetrics {\n blurScore: number;\n isAcceptable: boolean;\n threshold: number;\n}\n\nexport interface ReflectionMetrics {\n reflectionScore: number;\n hasReflection: boolean;\n threshold: number;\n reflectionAreas: { x: number; y: number; width: number; height: number }[];\n}\n\nexport interface FocusMetrics {\n focusScore: number;\n isFocused: boolean;\n threshold: number;\n edgeStrength: number;\n}\n\nexport interface BrightnessMetrics {\n brightness: number;\n isAcceptable: boolean;\n minThreshold: number;\n maxThreshold: number;\n}\n\nexport interface ContrastMetrics {\n contrast: number;\n isAcceptable: boolean;\n threshold: number;\n}\n\nexport interface ImageQualityResult {\n blur: BlurMetrics;\n reflection: ReflectionMetrics;\n focus: FocusMetrics;\n brightness: BrightnessMetrics;\n contrast: ContrastMetrics;\n overallQuality: 'excellent' | 'good' | 'acceptable' | 'poor';\n qualityScore: number; // 0-100\n issues: string[];\n recommendations: string[];\n}\n\nexport interface IImageQualityService {\n analyzeImageQuality(canvas: HTMLCanvasElement, documentBounds?: { x: number; y: number; w: number; h: number }): ImageQualityResult;\n detectBlur(imageData: ImageData): BlurMetrics;\n detectReflections(imageData: ImageData): ReflectionMetrics;\n measureFocus(imageData: ImageData): FocusMetrics;\n measureBrightness(imageData: ImageData): BrightnessMetrics;\n measureContrast(imageData: ImageData): ContrastMetrics;\n getQualityRecommendations(result: ImageQualityResult): string[];\n}"]}