@jaak.ai/stamps 2.0.0-dev.42 → 2.0.0-dev.43
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.
- package/dist/cjs/jaak-stamps-webcomponent.cjs.js +1 -1
- package/dist/cjs/jaak-stamps.cjs.entry.js +14 -652
- package/dist/cjs/jaak-stamps.cjs.entry.js.map +1 -1
- package/dist/cjs/jaak-stamps.entry.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/my-component/my-component.css +40 -0
- package/dist/collection/components/my-component/my-component.js +35 -343
- package/dist/collection/components/my-component/my-component.js.map +1 -1
- package/dist/collection/services/DetectionService.js +1 -164
- package/dist/collection/services/DetectionService.js.map +1 -1
- package/dist/collection/services/ServiceContainer.js +1 -6
- package/dist/collection/services/ServiceContainer.js.map +1 -1
- package/dist/collection/services/interfaces/IDetectionService.js.map +1 -1
- package/dist/collection/types/component-types.js +2 -0
- package/dist/collection/types/component-types.js.map +1 -0
- package/dist/components/jaak-stamps.js +15 -663
- package/dist/components/jaak-stamps.js.map +1 -1
- package/dist/esm/jaak-stamps-webcomponent.js +1 -1
- package/dist/esm/jaak-stamps.entry.js +14 -652
- package/dist/esm/jaak-stamps.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/jaak-stamps-webcomponent/jaak-stamps-webcomponent.esm.js +1 -1
- package/dist/jaak-stamps-webcomponent/jaak-stamps.entry.esm.js.map +1 -1
- package/dist/jaak-stamps-webcomponent/p-3074405d.entry.js +2 -0
- package/dist/jaak-stamps-webcomponent/p-3074405d.entry.js.map +1 -0
- package/dist/types/components/my-component/my-component.d.ts +4 -45
- package/dist/types/components.d.ts +11 -62
- package/dist/types/services/DetectionService.d.ts +2 -22
- package/dist/types/services/ServiceContainer.d.ts +0 -6
- package/dist/types/services/interfaces/IDetectionService.d.ts +0 -13
- package/dist/types/types/component-types.d.ts +36 -0
- package/package.json +1 -1
- package/dist/collection/services/ImageQualityService.js +0 -329
- package/dist/collection/services/ImageQualityService.js.map +0 -1
- package/dist/collection/services/interfaces/IImageQualityService.js +0 -2
- package/dist/collection/services/interfaces/IImageQualityService.js.map +0 -1
- package/dist/jaak-stamps-webcomponent/p-47f37982.entry.js +0 -2
- package/dist/jaak-stamps-webcomponent/p-47f37982.entry.js.map +0 -1
- package/dist/types/services/ImageQualityService.d.ts +0 -31
- package/dist/types/services/interfaces/IImageQualityService.d.ts +0 -58
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -5,7 +5,7 @@ var index = require('./index-BfhtOB0D.js');
|
|
|
5
5
|
const defineCustomElements = async (win, options) => {
|
|
6
6
|
if (typeof window === 'undefined') return undefined;
|
|
7
7
|
await index.globalScripts();
|
|
8
|
-
return index.bootstrapLazy([["jaak-stamps.cjs",[[1,"jaak-stamps",{"debug":[4],"alignmentTolerance":[2,"alignment-tolerance"],"maskSize":[2,"mask-size"],"cropMargin":[2,"crop-margin"],"useDocumentClassification":[4,"use-document-classification"],"preferredCamera":[1,"preferred-camera"],"captureDelay":[2,"capture-delay"],"
|
|
8
|
+
return index.bootstrapLazy([["jaak-stamps.cjs",[[1,"jaak-stamps",{"debug":[4],"alignmentTolerance":[2,"alignment-tolerance"],"maskSize":[2,"mask-size"],"cropMargin":[2,"crop-margin"],"useDocumentClassification":[4,"use-document-classification"],"preferredCamera":[1,"preferred-camera"],"captureDelay":[2,"capture-delay"],"detectionBoxes":[32],"sideAlignment":[32],"isMaskReady":[32],"shouldMirrorVideo":[32],"showCameraSelector":[32],"isSwitchingCamera":[32],"hasDocumentDetected":[32],"currentStatus":[32],"performanceData":[32],"getCapturedImages":[64],"isProcessCompleted":[64],"startCapture":[64],"stopCapture":[64],"resetCapture":[64],"skipBackCapture":[64],"getStatus":[64],"preloadModel":[64],"getCameraInfo":[64],"setPreferredCamera":[64],"setCaptureDelay":[64],"getCaptureDelay":[64],"setTorchEnabled":[64],"focusAtPoint":[64]}]]]], options);
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
exports.setNonce = index.setNonce;
|
|
@@ -1031,6 +1031,33 @@ video {
|
|
|
1031
1031
|
}
|
|
1032
1032
|
}
|
|
1033
1033
|
|
|
1034
|
+
/* Quality Monitor */
|
|
1035
|
+
.quality-monitor {
|
|
1036
|
+
position: absolute;
|
|
1037
|
+
top: 200px;
|
|
1038
|
+
left: 16px;
|
|
1039
|
+
background: rgba(0, 0, 0, 0.25);
|
|
1040
|
+
backdrop-filter: blur(20px);
|
|
1041
|
+
border-radius: 12px;
|
|
1042
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
1043
|
+
z-index: 35;
|
|
1044
|
+
width: fit-content;
|
|
1045
|
+
animation: slideInFromLeft 0.3s ease-out;
|
|
1046
|
+
transition: all 0.3s ease;
|
|
1047
|
+
}
|
|
1048
|
+
|
|
1049
|
+
.quality-text {
|
|
1050
|
+
padding: 6px 10px;
|
|
1051
|
+
font-size: 11px;
|
|
1052
|
+
color: white;
|
|
1053
|
+
font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
|
|
1054
|
+
line-height: 1.4;
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
.quality-fail {
|
|
1058
|
+
color: #ff9999;
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1034
1061
|
/* Animación pulsante para valores críticos */
|
|
1035
1062
|
@keyframes pulse {
|
|
1036
1063
|
0%, 100% {
|
|
@@ -1045,3 +1072,16 @@ video {
|
|
|
1045
1072
|
animation: pulse 2s infinite;
|
|
1046
1073
|
}
|
|
1047
1074
|
|
|
1075
|
+
/* Mobile optimizations */
|
|
1076
|
+
@media (max-width: 480px) {
|
|
1077
|
+
.quality-monitor {
|
|
1078
|
+
top: 160px;
|
|
1079
|
+
left: 12px;
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
.quality-text {
|
|
1083
|
+
padding: 4px 8px;
|
|
1084
|
+
font-size: 10px;
|
|
1085
|
+
}
|
|
1086
|
+
}
|
|
1087
|
+
|
|
@@ -3,18 +3,12 @@ import { ServiceContainer } from "../../services/ServiceContainer";
|
|
|
3
3
|
export class JaakStamps {
|
|
4
4
|
el;
|
|
5
5
|
debug = false;
|
|
6
|
-
alignmentTolerance =
|
|
7
|
-
maskSize =
|
|
8
|
-
cropMargin =
|
|
6
|
+
alignmentTolerance = 20;
|
|
7
|
+
maskSize = 80;
|
|
8
|
+
cropMargin = 20;
|
|
9
9
|
useDocumentClassification = false;
|
|
10
10
|
preferredCamera = 'auto';
|
|
11
11
|
captureDelay = 1000;
|
|
12
|
-
enableQualityValidation = true;
|
|
13
|
-
qualityThreshold = 60;
|
|
14
|
-
minQualityScore = 45;
|
|
15
|
-
minFocusScore = 16;
|
|
16
|
-
minBlurScore = 22;
|
|
17
|
-
maxReflectionScore = 15;
|
|
18
12
|
captureCompleted;
|
|
19
13
|
isReady;
|
|
20
14
|
// State derived from services
|
|
@@ -33,12 +27,6 @@ export class JaakStamps {
|
|
|
33
27
|
type: 'initializing',
|
|
34
28
|
isInitialized: false
|
|
35
29
|
};
|
|
36
|
-
qualityFeedback = {
|
|
37
|
-
message: 'Analizando calidad...',
|
|
38
|
-
score: 0,
|
|
39
|
-
hasIssues: false,
|
|
40
|
-
canCapture: false
|
|
41
|
-
};
|
|
42
30
|
performanceData = {
|
|
43
31
|
fps: 0,
|
|
44
32
|
inferenceTime: 0,
|
|
@@ -107,13 +95,7 @@ export class JaakStamps {
|
|
|
107
95
|
cropMargin: this.cropMargin,
|
|
108
96
|
useDocumentClassification: this.useDocumentClassification,
|
|
109
97
|
preferredCamera: this.preferredCamera,
|
|
110
|
-
captureDelay: this.captureDelay
|
|
111
|
-
enableQualityValidation: this.enableQualityValidation,
|
|
112
|
-
qualityThreshold: this.qualityThreshold,
|
|
113
|
-
minQualityScore: this.minQualityScore,
|
|
114
|
-
minFocusScore: this.minFocusScore,
|
|
115
|
-
minBlurScore: this.minBlurScore,
|
|
116
|
-
maxReflectionScore: this.maxReflectionScore
|
|
98
|
+
captureDelay: this.captureDelay
|
|
117
99
|
};
|
|
118
100
|
this.serviceContainer = new ServiceContainer(config);
|
|
119
101
|
this.logger = this.serviceContainer.getLogger();
|
|
@@ -173,26 +155,6 @@ export class JaakStamps {
|
|
|
173
155
|
this.logger.warn(`Propiedad captureDelay inválida. Valor: ${this.captureDelay}, esperado: 0-10000. Usando valor por defecto: 1000`);
|
|
174
156
|
this.captureDelay = 1000;
|
|
175
157
|
}
|
|
176
|
-
if (this.qualityThreshold < 0 || this.qualityThreshold > 100) {
|
|
177
|
-
this.logger.warn(`Propiedad qualityThreshold inválida. Valor: ${this.qualityThreshold}, esperado: 0-100. Usando valor por defecto: 60`);
|
|
178
|
-
this.qualityThreshold = 60;
|
|
179
|
-
}
|
|
180
|
-
if (this.minQualityScore < 0 || this.minQualityScore > 100) {
|
|
181
|
-
this.logger.warn(`Propiedad minQualityScore inválida. Valor: ${this.minQualityScore}, esperado: 0-100. Usando valor por defecto: 45`);
|
|
182
|
-
this.minQualityScore = 45;
|
|
183
|
-
}
|
|
184
|
-
if (this.minFocusScore < 0 || this.minFocusScore > 100) {
|
|
185
|
-
this.logger.warn(`Propiedad minFocusScore inválida. Valor: ${this.minFocusScore}, esperado: 0-100. Usando valor por defecto: 16`);
|
|
186
|
-
this.minFocusScore = 16;
|
|
187
|
-
}
|
|
188
|
-
if (this.minBlurScore < 0 || this.minBlurScore > 200) {
|
|
189
|
-
this.logger.warn(`Propiedad minBlurScore inválida. Valor: ${this.minBlurScore}, esperado: 0-200. Usando valor por defecto: 22`);
|
|
190
|
-
this.minBlurScore = 22;
|
|
191
|
-
}
|
|
192
|
-
if (this.maxReflectionScore < 0 || this.maxReflectionScore > 100) {
|
|
193
|
-
this.logger.warn(`Propiedad maxReflectionScore inválida. Valor: ${this.maxReflectionScore}, esperado: 0-100. Usando valor por defecto: 15`);
|
|
194
|
-
this.maxReflectionScore = 15;
|
|
195
|
-
}
|
|
196
158
|
}
|
|
197
159
|
async loadOnnxRuntime() {
|
|
198
160
|
if (!window.ort) {
|
|
@@ -445,63 +407,6 @@ export class JaakStamps {
|
|
|
445
407
|
coordinates: { x, y }
|
|
446
408
|
};
|
|
447
409
|
}
|
|
448
|
-
async getImageQuality() {
|
|
449
|
-
if (!this.videoRef || !this.detectionService.isModelLoaded()) {
|
|
450
|
-
return null;
|
|
451
|
-
}
|
|
452
|
-
try {
|
|
453
|
-
const qualityResult = this.detectionService.validateImageQuality(this.videoRef);
|
|
454
|
-
return {
|
|
455
|
-
qualityScore: qualityResult.qualityScore,
|
|
456
|
-
overallQuality: qualityResult.overallQuality,
|
|
457
|
-
issues: qualityResult.issues,
|
|
458
|
-
recommendations: qualityResult.recommendations,
|
|
459
|
-
canCapture: this.detectionService.isImageQualityAcceptable(qualityResult)
|
|
460
|
-
};
|
|
461
|
-
}
|
|
462
|
-
catch (error) {
|
|
463
|
-
this.logger.error('Error al analizar calidad de imagen:', error);
|
|
464
|
-
return null;
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
async setQualityThresholds(thresholds) {
|
|
468
|
-
// Validate thresholds
|
|
469
|
-
if (thresholds.minQualityScore !== undefined && (thresholds.minQualityScore < 0 || thresholds.minQualityScore > 100)) {
|
|
470
|
-
throw new Error('minQualityScore must be between 0 and 100');
|
|
471
|
-
}
|
|
472
|
-
if (thresholds.minFocusScore !== undefined && (thresholds.minFocusScore < 0 || thresholds.minFocusScore > 100)) {
|
|
473
|
-
throw new Error('minFocusScore must be between 0 and 100');
|
|
474
|
-
}
|
|
475
|
-
if (thresholds.minBlurScore !== undefined && (thresholds.minBlurScore < 0 || thresholds.minBlurScore > 200)) {
|
|
476
|
-
throw new Error('minBlurScore must be between 0 and 200');
|
|
477
|
-
}
|
|
478
|
-
if (thresholds.maxReflectionScore !== undefined && (thresholds.maxReflectionScore < 0 || thresholds.maxReflectionScore > 100)) {
|
|
479
|
-
throw new Error('maxReflectionScore must be between 0 and 100');
|
|
480
|
-
}
|
|
481
|
-
// Update component properties
|
|
482
|
-
if (thresholds.minQualityScore !== undefined)
|
|
483
|
-
this.minQualityScore = thresholds.minQualityScore;
|
|
484
|
-
if (thresholds.minFocusScore !== undefined)
|
|
485
|
-
this.minFocusScore = thresholds.minFocusScore;
|
|
486
|
-
if (thresholds.minBlurScore !== undefined)
|
|
487
|
-
this.minBlurScore = thresholds.minBlurScore;
|
|
488
|
-
if (thresholds.maxReflectionScore !== undefined)
|
|
489
|
-
this.maxReflectionScore = thresholds.maxReflectionScore;
|
|
490
|
-
// Update detection service
|
|
491
|
-
this.detectionService.updateQualityThresholds(thresholds);
|
|
492
|
-
return {
|
|
493
|
-
success: true,
|
|
494
|
-
thresholds: this.detectionService.getQualityThresholds()
|
|
495
|
-
};
|
|
496
|
-
}
|
|
497
|
-
async getQualityThresholds() {
|
|
498
|
-
return {
|
|
499
|
-
minQualityScore: this.minQualityScore,
|
|
500
|
-
minFocusScore: this.minFocusScore,
|
|
501
|
-
minBlurScore: this.minBlurScore,
|
|
502
|
-
maxReflectionScore: this.maxReflectionScore
|
|
503
|
-
};
|
|
504
|
-
}
|
|
505
410
|
// DETECTION METHODS
|
|
506
411
|
async startDetection() {
|
|
507
412
|
this.logger.state('INICIANDO_DETECCION');
|
|
@@ -603,36 +508,8 @@ export class JaakStamps {
|
|
|
603
508
|
// Measure preprocessing and inference time
|
|
604
509
|
const inferenceStartTime = performance.now();
|
|
605
510
|
const inputTensor = this.detectionService.preprocess(this.videoRef);
|
|
606
|
-
//
|
|
607
|
-
|
|
608
|
-
let qualityResult = null;
|
|
609
|
-
let canCapture = true;
|
|
610
|
-
if (this.enableQualityValidation) {
|
|
611
|
-
// Use enhanced detection method with quality validation
|
|
612
|
-
const enhancedResult = await this.detectionService.runInferenceWithQuality(inputTensor, this.videoRef);
|
|
613
|
-
detections = enhancedResult.detections;
|
|
614
|
-
qualityResult = enhancedResult.qualityResult;
|
|
615
|
-
canCapture = enhancedResult.canCapture;
|
|
616
|
-
// Update quality feedback state
|
|
617
|
-
this.qualityFeedback = {
|
|
618
|
-
message: enhancedResult.feedback,
|
|
619
|
-
score: qualityResult.qualityScore,
|
|
620
|
-
hasIssues: qualityResult.issues.length > 0,
|
|
621
|
-
canCapture: canCapture
|
|
622
|
-
};
|
|
623
|
-
}
|
|
624
|
-
else {
|
|
625
|
-
// Standard detection without quality validation
|
|
626
|
-
detections = await this.detectionService.runInference(inputTensor);
|
|
627
|
-
// Quick quality feedback for real-time display
|
|
628
|
-
const quickFeedback = this.detectionService.getQuickQualityFeedback(this.videoRef);
|
|
629
|
-
this.qualityFeedback = {
|
|
630
|
-
message: quickFeedback.feedback,
|
|
631
|
-
score: 0, // Not calculated in quick mode
|
|
632
|
-
hasIssues: quickFeedback.hasBlur || quickFeedback.hasReflections || !quickFeedback.isFocused,
|
|
633
|
-
canCapture: true // Allow capture without strict validation
|
|
634
|
-
};
|
|
635
|
-
}
|
|
511
|
+
// Standard detection without quality validation
|
|
512
|
+
const detections = await this.detectionService.runInference(inputTensor);
|
|
636
513
|
const inferenceTime = performance.now() - inferenceStartTime;
|
|
637
514
|
// Record ONNX performance metrics
|
|
638
515
|
if (this.debug) {
|
|
@@ -640,7 +517,7 @@ export class JaakStamps {
|
|
|
640
517
|
}
|
|
641
518
|
// Update best score logic
|
|
642
519
|
if (this.startTime && Date.now() - this.startTime < 5000) {
|
|
643
|
-
detections.forEach(detection => {
|
|
520
|
+
detections.forEach((detection) => {
|
|
644
521
|
const isWellPositioned = this.detectionService.isCardInFrame(detection);
|
|
645
522
|
const effectiveScore = isWellPositioned ? detection.score * 1.2 : detection.score;
|
|
646
523
|
if (effectiveScore > captureState.bestScore) {
|
|
@@ -730,7 +607,7 @@ export class JaakStamps {
|
|
|
730
607
|
deviceType: 'desktop',
|
|
731
608
|
preferredFacing: null
|
|
732
609
|
};
|
|
733
|
-
return (h("div", { key: '
|
|
610
|
+
return (h("div", { key: '7af79a0ff25b51790a9477cd7b338a0584172fc2', class: "detector-container" }, h("div", { key: 'ebf6a3811e0e599f29e98325b975a645e3bfb5e0', class: "video-container" }, h("video", { key: '5208fc9574fa78b1149be5839bc26d04bf9bcdfc', ref: el => this.videoRef = el, autoplay: true, muted: true, playsinline: true, class: this.shouldMirrorVideo ? 'mirror' : '', style: { display: captureState.isVideoActive ? 'block' : 'none' } }), h("div", { key: 'b507c786eccbd21acdd884ef50bc6ec280b9d437', ref: el => this.detectionContainer = el, class: `detection-overlay ${this.shouldMirrorVideo ? 'mirror' : ''}` }, this.debug && this.detectionBoxes.map((box, index) => (h("div", { key: index, class: "detection-box", style: {
|
|
734
611
|
position: 'absolute',
|
|
735
612
|
left: `${box.x}px`,
|
|
736
613
|
top: `${box.y}px`,
|
|
@@ -739,9 +616,7 @@ export class JaakStamps {
|
|
|
739
616
|
border: '2px solid #32406C',
|
|
740
617
|
pointerEvents: 'none',
|
|
741
618
|
boxSizing: 'border-box'
|
|
742
|
-
} })))), this.isMaskReady && (h("div", { key: '
|
|
743
|
-
this.qualityFeedback.message :
|
|
744
|
-
'Alinee su identificación con el marco')), this.enableQualityValidation && this.hasDocumentDetected && captureState.isVideoActive && !captureState.showFlipAnimation && !captureState.showSuccessAnimation && (h("div", { key: '04afa661c1d988d9bedb48c78672de233dd49f9b', class: `quality-indicator ${this.qualityFeedback.hasIssues ? 'warning' : 'good'}` }, h("div", { key: 'bc789e19894de1d3dfd4a232e05e612d804e0e6c', class: "quality-score" }, this.qualityFeedback.score > 0 ? `${this.qualityFeedback.score}%` : ''), h("div", { key: '0750f5e5dfdb7a7c054d01965146d34a5bb4485a', class: `quality-status ${this.qualityFeedback.canCapture ? 'ready' : 'not-ready'}` }, this.qualityFeedback.canCapture ? '✓' : '!')))), captureState.step === 'back' && !captureState.showFlipAnimation && !captureState.showSuccessAnimation && (h("button", { key: 'cbe391726b5d62acbb466c36b135e0556fc488f7', class: "skip-button", onClick: () => this.skipBackCapture(), type: "button" }, "Saltar reverso")), captureState.isVideoActive && (h("div", { key: '929f8fe054b30e3c30bf066319e957a633fa587c', class: "camera-controls" }, h("button", { key: 'b4f68dd3a6865cba49c3f5d38c43874b7b9b364d', class: `camera-selector-button ${this.isSwitchingCamera ? 'loading' : ''}`, onClick: () => this.toggleCameraSelector(), type: "button", title: "Seleccionar c\u00E1mara", disabled: this.isSwitchingCamera }, this.isSwitchingCamera ? (h("div", { class: "button-spinner" })) : ('Cámaras')))), this.showCameraSelector && cameraInfo.availableCameras.length > 0 && (h("div", { key: 'c9315ff70704fdc265af07bf765b6247814563e6', class: "camera-selector-dropdown" }, h("div", { key: 'f4950e7e3c3e279c48310a4049550f3143fb4d3f', class: "camera-selector-header" }, h("span", { key: '4cfacf909549b0e18bd8ac6e54e127ce09b75335' }, "Seleccionar C\u00E1mara"), h("button", { key: '13d7679c5235f41f0dbc38b9f397483cf4ec9ffd', class: "close-selector", onClick: () => this.toggleCameraSelector(), type: "button" }, "\u00D7")), h("div", { key: '6c97cb8ba9486c33a633901d9dd49765f87d92ed', class: "camera-list" }, cameraInfo.availableCameras.map((camera) => (h("button", { key: camera.id, class: `camera-option ${cameraInfo.selectedCameraId === camera.id ? 'selected' : ''}`, onClick: () => this.handleCameraSwitch(camera.id), type: "button" }, h("span", { class: "camera-label" }, camera.label || `Cámara ${cameraInfo.availableCameras.indexOf(camera) + 1}`), cameraInfo.selectedCameraId === camera.id && (h("span", { class: "selected-indicator" }, "\u2713")))))), h("div", { key: '35796316fc950b8491f6167303b549b098abbf58', class: "device-info" }, h("small", { key: '83c59a8cb0c0b67a37163fe75c1f1f383fcb00f4' }, "Dispositivo: ", cameraInfo.deviceType)))))), captureState.isCapturing && (h("div", { key: 'be5b316abb21c06cf5bb69ed090d43d45537a9e6', class: "capture-animation" })), captureState.showFlipAnimation && (h("div", { key: '43e64fcc325c7c96871a99838c5fa094c6774af2', class: "flip-animation" }, h("div", { key: '39223d9b593716e76912ade58b556c7212a7e05f', class: "id-card-icon" }), h("div", { key: '79463b43724c3c56c45bd5b41337117d7d415618', class: "flip-text" }, "\u00A1Voltea tu identificaci\u00F3n!"))), captureState.showSuccessAnimation && (h("div", { key: '7be8ca4d0bd59b1e4127254ff68e41321aa387cc', class: "success-animation" }, h("div", { key: '03a3e625f622c546a3016f85e029f9ea165f65c3', class: "check-icon" }), h("div", { key: '9c63faad517dad4b2ede8ec5a0998ad0b5c807d5', class: "success-text" }, "\u00A1Proceso completado!"))), h("div", { key: '94aa38c67fdaf328e74a2c1ec476987bf8e483d5', class: `component-status status-${this.currentStatus.type}` }, (this.currentStatus.type === 'loading' || this.currentStatus.type === 'initializing') && (h("div", { key: '52a460f2fe11505158331cc06d7121db80bdfed9', class: "status-spinner" })), h("div", { key: '1eabfed00df31ff30fdf818f3d33cd837a7f31a5', class: "status-content" }, h("div", { key: '4bdbadf18fc48f2fad5dafd9ddf4a78f0a81dbf5', class: "status-message" }, this.currentStatus.message), this.currentStatus.description && (h("div", { key: '14c41346fc9fc306315cdda1c54ec1e828c38f62', class: "status-description" }, this.currentStatus.description)))), this.debug && (h("div", { key: '21fb0ca08547143648097f2aa4f3eb3ade73bce1', class: "performance-monitor" }, h("div", { key: '88c990f42b5c87c9bc971acd228fc84bacec861b', class: "performance-expanded" }, h("div", { key: '351215f4b8ab202b42a4c9b0bfa8665485469f64', class: "metrics-row" }, h("div", { key: '28a2c5386ba99850f7dc41add6fb4ef073a6b8cb', class: "metric-compact" }, h("span", { key: '7a2ab758f9baf1264cd4ad70ff30f42a35c41065', class: "metric-label" }, "FPS"), h("span", { key: '1c4370d016f2bdcf61275b4869bddbd8109a7b2a', class: `metric-value ${this.performanceData.fps < 15 ? 'warning' : this.performanceData.fps < 10 ? 'danger' : 'good'}` }, this.performanceData.fps)), h("div", { key: 'e79c27b4cbad3e70f2df917a5147dd125d51304d', class: "metric-compact" }, h("span", { key: 'aee4c178ae751cfe94735ef9fcb78f273f9cb885', class: "metric-label" }, "MEM"), h("span", { key: '823e98dec413968ee5080b29839729e6ac9f91d2', class: `metric-value ${this.performanceData.memoryUsage > 100 ? 'warning' : this.performanceData.memoryUsage > 200 ? 'danger' : 'good'}` }, this.performanceData.memoryUsage, "MB"))), h("div", { key: 'e29037f684c82579a711aff022060c97ab9d93cf', class: "metrics-row" }, h("div", { key: '2917f3c4b026e3106fad741944e582aff36e10e0', class: "metric-compact" }, h("span", { key: 'e8783e8e2b18b29b37342eea376a75f257a46850', class: "metric-label" }, "INF"), h("span", { key: '30cdc1db3189135bc772aab5c31e081294ebd431', class: `metric-value ${this.performanceData.inferenceTime > 100 ? 'warning' : this.performanceData.inferenceTime > 200 ? 'danger' : 'good'}` }, this.performanceData.inferenceTime, "ms")), h("div", { key: 'c481ec26394e35efe38047e5fa1b835e520f49b8', class: "metric-compact" }, h("span", { key: 'c806cae91f3fcad896bd6053b6a0391ab518ab6f', class: "metric-label" }, "FRAME"), h("span", { key: 'af9996e2093c918ea903d036e637905baeef1aa2', class: `metric-value ${this.performanceData.frameProcessingTime > 50 ? 'warning' : this.performanceData.frameProcessingTime > 100 ? 'danger' : 'good'}` }, this.performanceData.frameProcessingTime, "ms"))), h("div", { key: '48422447a6d00f78a9f861bfc50de4ef5a628a57', class: "metrics-row" }, h("div", { key: 'c88a03fbff56f68796df33187256fd5a5a68f763', class: "metric-compact" }, h("span", { key: '5e366c35865f8bf45aecac126ce98e0e17be0825', class: "metric-label" }, "DET"), h("span", { key: '123570ac9ae59cf5ef1b992ea6c4563b753990c3', class: "metric-value good" }, this.performanceData.successfulDetections, "/", this.performanceData.totalDetections)), h("div", { key: 'dea3a496f84e80f9d6f27173c8fa2e4149bf8e0b', class: "metric-compact" }, h("span", { key: 'fe47d6c16ca84fff8824bef92d8ce9efe50dfa38', class: "metric-label" }, "RATE"), h("span", { key: '873846eb42c1ed97f4e9493871e51741766c852f', class: `metric-value ${this.performanceData.detectionRate < 30 ? 'danger' : this.performanceData.detectionRate < 60 ? 'warning' : 'good'}` }, this.performanceData.detectionRate, "%")))))), h("div", { key: 'b485b1d8fafee0314ffbf1c7934ffc9a3d4c6902', class: "watermark" }, h("img", { key: 'f5fae340c3e96ecafe26aa819dbc2411038aa953', src: "https://storage.googleapis.com/jaak-static/commons/powered-by-jaak.png", alt: "Powered by Jaak" })))));
|
|
619
|
+
} })))), this.isMaskReady && (h("div", { key: '53066c626b23daae351ea9a80409e8882434b0dd', class: "overlay-mask" }, h("div", { key: '77bb4048d43e328e57a5c7e1909e0a59c8957217', class: "card-outline" }, h("div", { key: 'ea0f2610d903f985286856ab69f8be24fd42148e', class: "side side-top" }), h("div", { key: 'dc671111ef4adf33aa41f4457fdf344ede23eb80', class: "side side-right" }), h("div", { key: '2475ec41577dca92b425542c8861c570ed7ecd3b', class: "side side-bottom" }), h("div", { key: 'a06171c8eb1bd6353a6464485604560d73ac04b7', class: "side side-left" }), !captureState.showFlipAnimation && !captureState.showSuccessAnimation && (h("div", { key: 'ecfd98f36d457fe7282b26f6a0efef5361380c76', class: "guide-text" }, "Alinee su identificaci\u00F3n con el marco"))), captureState.step === 'back' && !captureState.showFlipAnimation && !captureState.showSuccessAnimation && (h("button", { key: 'f3c7b66500110437e9e4a7442cb327f2fdc6d71f', class: "skip-button", onClick: () => this.skipBackCapture(), type: "button" }, "Saltar reverso")), captureState.isVideoActive && (h("div", { key: 'b5b2a8dfc6dbcf381c32c4caa562c27ced2e3e56', class: "camera-controls" }, h("button", { key: '6b40d4649dfa22c5ea8ca90cacce35cd0ca53ff3', class: `camera-selector-button ${this.isSwitchingCamera ? 'loading' : ''}`, onClick: () => this.toggleCameraSelector(), type: "button", title: "Seleccionar c\u00E1mara", disabled: this.isSwitchingCamera }, this.isSwitchingCamera ? (h("div", { class: "button-spinner" })) : ('Cámaras')))), this.showCameraSelector && cameraInfo.availableCameras.length > 0 && (h("div", { key: '41feec90287510b08bd1090ad15586b323007c30', class: "camera-selector-dropdown" }, h("div", { key: '8310ebe3db842c463ad428b973f841053315a76f', class: "camera-selector-header" }, h("span", { key: '6693bdfa33643dfe73798d4f25b0c2d9de7aac7c' }, "Seleccionar C\u00E1mara"), h("button", { key: '8552d45e1482c570d7ff85588d4404eec7c369d7', class: "close-selector", onClick: () => this.toggleCameraSelector(), type: "button" }, "\u00D7")), h("div", { key: '5333ec0e5fb2c50a07a7c0b7d4dfb1bb4ee0df1c', class: "camera-list" }, cameraInfo.availableCameras.map((camera) => (h("button", { key: camera.id, class: `camera-option ${cameraInfo.selectedCameraId === camera.id ? 'selected' : ''}`, onClick: () => this.handleCameraSwitch(camera.id), type: "button" }, h("span", { class: "camera-label" }, camera.label || `Cámara ${cameraInfo.availableCameras.indexOf(camera) + 1}`), cameraInfo.selectedCameraId === camera.id && (h("span", { class: "selected-indicator" }, "\u2713")))))), h("div", { key: '8adf70b0e632c56a4784dec44621688809a3ff56', class: "device-info" }, h("small", { key: '2ea23922386ecda4a9011b50faba5efe4b4e60bb' }, "Dispositivo: ", cameraInfo.deviceType)))))), captureState.isCapturing && (h("div", { key: '8e693db67fe1e6ae8f11082b8993682b6d19b11d', class: "capture-animation" })), captureState.showFlipAnimation && (h("div", { key: '474489ed7848cdc163c492a5e19f5f13231e17b3', class: "flip-animation" }, h("div", { key: 'a9bd24ca21330882f001b7811077630eb1c30f50', class: "id-card-icon" }), h("div", { key: 'ffadb660a61e0f5e3e29bdc473d987e87dc4ad8a', class: "flip-text" }, "\u00A1Voltea tu identificaci\u00F3n!"))), captureState.showSuccessAnimation && (h("div", { key: 'd2522ee33aa159d49f040a293775892fb1cb81b5', class: "success-animation" }, h("div", { key: 'e7f899fac58bc9a3d51cf2cb89ee33bb320b241f', class: "check-icon" }), h("div", { key: 'd5d0ee1f37dbc659ca625ad03cbce325be0cf0a6', class: "success-text" }, "\u00A1Proceso completado!"))), h("div", { key: '425d347666032c3982a660ebee13b47670b996cb', class: `component-status status-${this.currentStatus.type}` }, (this.currentStatus.type === 'loading' || this.currentStatus.type === 'initializing') && (h("div", { key: '4d396fa107872f9a1e526fd59dc4edf279a05792', class: "status-spinner" })), h("div", { key: '232e9ae24c8cf5ef8ac0e3442e45a920799c724d', class: "status-content" }, h("div", { key: 'fe9dc0ca6d8e8276052bac7d2d44f1c7c9730364', class: "status-message" }, this.currentStatus.message), this.currentStatus.description && (h("div", { key: '6910c7ac78fd89e6fa1165446ec6d46fb356035c', class: "status-description" }, this.currentStatus.description)))), this.debug && (h("div", { key: '7282b8afaf03da53b01a23d04babd772528c3c14', class: "performance-monitor" }, h("div", { key: 'b582b3124fed13387cd70a02a34ab2bb541f3bfc', class: "performance-expanded" }, h("div", { key: '764bac2d61224b9a5f306f50934d410e1bd27787', class: "metrics-row" }, h("div", { key: '261563f8314a9f6069b1ac6362eb9c38936a9dc7', class: "metric-compact" }, h("span", { key: '4feea98eff86620c1bc90eb65d9799102423109d', class: "metric-label" }, "FPS"), h("span", { key: 'eb15f13b27b8aa50701ad3d11c4cf87200010b67', class: `metric-value ${this.performanceData.fps < 15 ? 'warning' : this.performanceData.fps < 10 ? 'danger' : 'good'}` }, this.performanceData.fps)), h("div", { key: '0813c35c2c33286f2276bfb5adce59b32c7bb597', class: "metric-compact" }, h("span", { key: '201e7bcb556e63b141e42a3ffc3419eb4284bfa8', class: "metric-label" }, "MEM"), h("span", { key: '4f6703cbe0128440d0f2f22f631035ab85422c64', class: `metric-value ${this.performanceData.memoryUsage > 100 ? 'warning' : this.performanceData.memoryUsage > 200 ? 'danger' : 'good'}` }, this.performanceData.memoryUsage, "MB"))), h("div", { key: '6343c361c93138b9ea66e8ae8acd361b93333f8c', class: "metrics-row" }, h("div", { key: 'd3c81fe597004bf380fae2d32f3a8314317e7769', class: "metric-compact" }, h("span", { key: 'fce572af3e200a611974dceef4da02f6aecedffc', class: "metric-label" }, "INF"), h("span", { key: '18dd78d54dcecfb70ddf59b782f87f8c6f208b0f', class: `metric-value ${this.performanceData.inferenceTime > 100 ? 'warning' : this.performanceData.inferenceTime > 200 ? 'danger' : 'good'}` }, this.performanceData.inferenceTime, "ms")), h("div", { key: '4c31ebfd835b017fd3e41b23d6bd9b19add511aa', class: "metric-compact" }, h("span", { key: '66b1a380b9479a8fc1e8c2385cb72aa4158dc74e', class: "metric-label" }, "FRAME"), h("span", { key: '3c6e41f7f11123c524d3a9df409345929d63f352', class: `metric-value ${this.performanceData.frameProcessingTime > 50 ? 'warning' : this.performanceData.frameProcessingTime > 100 ? 'danger' : 'good'}` }, this.performanceData.frameProcessingTime, "ms"))), h("div", { key: '3b522e2cdfe4bd9f1dd6eb0f91ee3577dc43e490', class: "metrics-row" }, h("div", { key: 'fa1e6f687b43aa2582b8b3426feb03a16c6493fc', class: "metric-compact" }, h("span", { key: 'a9355091e71a33a6a0d7cc6c11171dcda2e51b22', class: "metric-label" }, "DET"), h("span", { key: 'beca5a7ccf4853675cf8366bcf577ebfbd46c4f0', class: "metric-value good" }, this.performanceData.successfulDetections, "/", this.performanceData.totalDetections)), h("div", { key: '4b07fc9b3d35f99bc6e77c8726192cde0476a787', class: "metric-compact" }, h("span", { key: 'a1674b538f45328ee0afb00e582c07e0b4ccf553', class: "metric-label" }, "RATE"), h("span", { key: 'fd384a5137bc3df6c939d3d698a3ef80e9087030', class: `metric-value ${this.performanceData.detectionRate < 30 ? 'danger' : this.performanceData.detectionRate < 60 ? 'warning' : 'good'}` }, this.performanceData.detectionRate, "%")))))), h("div", { key: 'ebbaf15a0ad96e4da5bbf746c32d7a4abb51b973', class: "watermark" }, h("img", { key: '8e7d274b529d1f7020ec4a7225579792763f871a', src: "https://storage.googleapis.com/jaak-static/commons/powered-by-jaak.png", alt: "Powered by Jaak" })))));
|
|
745
620
|
}
|
|
746
621
|
// Utility methods
|
|
747
622
|
updateDetectionBoxes(boxes) {
|
|
@@ -813,19 +688,14 @@ export class JaakStamps {
|
|
|
813
688
|
if (allSidesAligned && bestBox) {
|
|
814
689
|
cardOutline?.classList.add('perfect-match');
|
|
815
690
|
corners?.forEach(corner => corner.classList.add('perfect-match'));
|
|
816
|
-
// Check quality validation before allowing capture
|
|
817
|
-
const qualityCheckPassed = !this.enableQualityValidation || this.qualityFeedback.canCapture;
|
|
818
691
|
// Debug logging
|
|
819
692
|
this.logger.state('CAPTURE_EVALUATION', {
|
|
820
693
|
allSidesAligned: true,
|
|
821
694
|
hasScreenshotTaken: this.hasScreenshotTaken,
|
|
822
|
-
qualityCheckPassed,
|
|
823
|
-
enableQualityValidation: this.enableQualityValidation,
|
|
824
|
-
qualityFeedback: this.qualityFeedback,
|
|
825
695
|
captureDelay: this.captureDelay,
|
|
826
696
|
alignmentStartTime: this.alignmentStartTime
|
|
827
697
|
});
|
|
828
|
-
if (!this.hasScreenshotTaken
|
|
698
|
+
if (!this.hasScreenshotTaken) {
|
|
829
699
|
const currentTime = Date.now();
|
|
830
700
|
// Initialize alignment start time if not set
|
|
831
701
|
if (!this.alignmentStartTime) {
|
|
@@ -842,8 +712,7 @@ export class JaakStamps {
|
|
|
842
712
|
if (alignmentDuration >= this.captureDelay) {
|
|
843
713
|
this.logger.state('TRIGGERING_CAPTURE', {
|
|
844
714
|
alignmentDuration,
|
|
845
|
-
captureDelay: this.captureDelay
|
|
846
|
-
qualityScore: this.qualityFeedback.score
|
|
715
|
+
captureDelay: this.captureDelay
|
|
847
716
|
});
|
|
848
717
|
this.lastDetectedBox = bestBox;
|
|
849
718
|
this.takeScreenshot().catch(error => {
|
|
@@ -856,17 +725,6 @@ export class JaakStamps {
|
|
|
856
725
|
}, 2000);
|
|
857
726
|
}
|
|
858
727
|
}
|
|
859
|
-
else if (!qualityCheckPassed) {
|
|
860
|
-
// Reset alignment timer if quality check fails
|
|
861
|
-
this.logger.state('QUALITY_CHECK_FAILED', {
|
|
862
|
-
enableQualityValidation: this.enableQualityValidation,
|
|
863
|
-
canCapture: this.qualityFeedback.canCapture,
|
|
864
|
-
qualityScore: this.qualityFeedback.score,
|
|
865
|
-
hasIssues: this.qualityFeedback.hasIssues
|
|
866
|
-
});
|
|
867
|
-
this.alignmentStartTime = undefined;
|
|
868
|
-
cardOutline?.classList.add('quality-warning');
|
|
869
|
-
}
|
|
870
728
|
}
|
|
871
729
|
else {
|
|
872
730
|
cardOutline?.classList.remove('perfect-match');
|
|
@@ -1182,7 +1040,7 @@ export class JaakStamps {
|
|
|
1182
1040
|
"getter": false,
|
|
1183
1041
|
"setter": false,
|
|
1184
1042
|
"reflect": false,
|
|
1185
|
-
"defaultValue": "
|
|
1043
|
+
"defaultValue": "20"
|
|
1186
1044
|
},
|
|
1187
1045
|
"maskSize": {
|
|
1188
1046
|
"type": "number",
|
|
@@ -1202,7 +1060,7 @@ export class JaakStamps {
|
|
|
1202
1060
|
"getter": false,
|
|
1203
1061
|
"setter": false,
|
|
1204
1062
|
"reflect": false,
|
|
1205
|
-
"defaultValue": "
|
|
1063
|
+
"defaultValue": "80"
|
|
1206
1064
|
},
|
|
1207
1065
|
"cropMargin": {
|
|
1208
1066
|
"type": "number",
|
|
@@ -1222,7 +1080,7 @@ export class JaakStamps {
|
|
|
1222
1080
|
"getter": false,
|
|
1223
1081
|
"setter": false,
|
|
1224
1082
|
"reflect": false,
|
|
1225
|
-
"defaultValue": "
|
|
1083
|
+
"defaultValue": "20"
|
|
1226
1084
|
},
|
|
1227
1085
|
"useDocumentClassification": {
|
|
1228
1086
|
"type": "boolean",
|
|
@@ -1283,126 +1141,6 @@ export class JaakStamps {
|
|
|
1283
1141
|
"setter": false,
|
|
1284
1142
|
"reflect": false,
|
|
1285
1143
|
"defaultValue": "1000"
|
|
1286
|
-
},
|
|
1287
|
-
"enableQualityValidation": {
|
|
1288
|
-
"type": "boolean",
|
|
1289
|
-
"attribute": "enable-quality-validation",
|
|
1290
|
-
"mutable": false,
|
|
1291
|
-
"complexType": {
|
|
1292
|
-
"original": "boolean",
|
|
1293
|
-
"resolved": "boolean",
|
|
1294
|
-
"references": {}
|
|
1295
|
-
},
|
|
1296
|
-
"required": false,
|
|
1297
|
-
"optional": false,
|
|
1298
|
-
"docs": {
|
|
1299
|
-
"tags": [],
|
|
1300
|
-
"text": ""
|
|
1301
|
-
},
|
|
1302
|
-
"getter": false,
|
|
1303
|
-
"setter": false,
|
|
1304
|
-
"reflect": false,
|
|
1305
|
-
"defaultValue": "true"
|
|
1306
|
-
},
|
|
1307
|
-
"qualityThreshold": {
|
|
1308
|
-
"type": "number",
|
|
1309
|
-
"attribute": "quality-threshold",
|
|
1310
|
-
"mutable": false,
|
|
1311
|
-
"complexType": {
|
|
1312
|
-
"original": "number",
|
|
1313
|
-
"resolved": "number",
|
|
1314
|
-
"references": {}
|
|
1315
|
-
},
|
|
1316
|
-
"required": false,
|
|
1317
|
-
"optional": false,
|
|
1318
|
-
"docs": {
|
|
1319
|
-
"tags": [],
|
|
1320
|
-
"text": ""
|
|
1321
|
-
},
|
|
1322
|
-
"getter": false,
|
|
1323
|
-
"setter": false,
|
|
1324
|
-
"reflect": false,
|
|
1325
|
-
"defaultValue": "60"
|
|
1326
|
-
},
|
|
1327
|
-
"minQualityScore": {
|
|
1328
|
-
"type": "number",
|
|
1329
|
-
"attribute": "min-quality-score",
|
|
1330
|
-
"mutable": false,
|
|
1331
|
-
"complexType": {
|
|
1332
|
-
"original": "number",
|
|
1333
|
-
"resolved": "number",
|
|
1334
|
-
"references": {}
|
|
1335
|
-
},
|
|
1336
|
-
"required": false,
|
|
1337
|
-
"optional": false,
|
|
1338
|
-
"docs": {
|
|
1339
|
-
"tags": [],
|
|
1340
|
-
"text": ""
|
|
1341
|
-
},
|
|
1342
|
-
"getter": false,
|
|
1343
|
-
"setter": false,
|
|
1344
|
-
"reflect": false,
|
|
1345
|
-
"defaultValue": "45"
|
|
1346
|
-
},
|
|
1347
|
-
"minFocusScore": {
|
|
1348
|
-
"type": "number",
|
|
1349
|
-
"attribute": "min-focus-score",
|
|
1350
|
-
"mutable": false,
|
|
1351
|
-
"complexType": {
|
|
1352
|
-
"original": "number",
|
|
1353
|
-
"resolved": "number",
|
|
1354
|
-
"references": {}
|
|
1355
|
-
},
|
|
1356
|
-
"required": false,
|
|
1357
|
-
"optional": false,
|
|
1358
|
-
"docs": {
|
|
1359
|
-
"tags": [],
|
|
1360
|
-
"text": ""
|
|
1361
|
-
},
|
|
1362
|
-
"getter": false,
|
|
1363
|
-
"setter": false,
|
|
1364
|
-
"reflect": false,
|
|
1365
|
-
"defaultValue": "16"
|
|
1366
|
-
},
|
|
1367
|
-
"minBlurScore": {
|
|
1368
|
-
"type": "number",
|
|
1369
|
-
"attribute": "min-blur-score",
|
|
1370
|
-
"mutable": false,
|
|
1371
|
-
"complexType": {
|
|
1372
|
-
"original": "number",
|
|
1373
|
-
"resolved": "number",
|
|
1374
|
-
"references": {}
|
|
1375
|
-
},
|
|
1376
|
-
"required": false,
|
|
1377
|
-
"optional": false,
|
|
1378
|
-
"docs": {
|
|
1379
|
-
"tags": [],
|
|
1380
|
-
"text": ""
|
|
1381
|
-
},
|
|
1382
|
-
"getter": false,
|
|
1383
|
-
"setter": false,
|
|
1384
|
-
"reflect": false,
|
|
1385
|
-
"defaultValue": "22"
|
|
1386
|
-
},
|
|
1387
|
-
"maxReflectionScore": {
|
|
1388
|
-
"type": "number",
|
|
1389
|
-
"attribute": "max-reflection-score",
|
|
1390
|
-
"mutable": false,
|
|
1391
|
-
"complexType": {
|
|
1392
|
-
"original": "number",
|
|
1393
|
-
"resolved": "number",
|
|
1394
|
-
"references": {}
|
|
1395
|
-
},
|
|
1396
|
-
"required": false,
|
|
1397
|
-
"optional": false,
|
|
1398
|
-
"docs": {
|
|
1399
|
-
"tags": [],
|
|
1400
|
-
"text": ""
|
|
1401
|
-
},
|
|
1402
|
-
"getter": false,
|
|
1403
|
-
"setter": false,
|
|
1404
|
-
"reflect": false,
|
|
1405
|
-
"defaultValue": "15"
|
|
1406
1144
|
}
|
|
1407
1145
|
};
|
|
1408
1146
|
}
|
|
@@ -1416,7 +1154,6 @@ export class JaakStamps {
|
|
|
1416
1154
|
"isSwitchingCamera": {},
|
|
1417
1155
|
"hasDocumentDetected": {},
|
|
1418
1156
|
"currentStatus": {},
|
|
1419
|
-
"qualityFeedback": {},
|
|
1420
1157
|
"performanceData": {}
|
|
1421
1158
|
};
|
|
1422
1159
|
}
|
|
@@ -1457,15 +1194,20 @@ export class JaakStamps {
|
|
|
1457
1194
|
return {
|
|
1458
1195
|
"getCapturedImages": {
|
|
1459
1196
|
"complexType": {
|
|
1460
|
-
"signature": "() => Promise<
|
|
1197
|
+
"signature": "() => Promise<CapturedImagesResponse>",
|
|
1461
1198
|
"parameters": [],
|
|
1462
1199
|
"references": {
|
|
1463
1200
|
"Promise": {
|
|
1464
1201
|
"location": "global",
|
|
1465
1202
|
"id": "global::Promise"
|
|
1203
|
+
},
|
|
1204
|
+
"CapturedImagesResponse": {
|
|
1205
|
+
"location": "import",
|
|
1206
|
+
"path": "../../types/component-types",
|
|
1207
|
+
"id": "src/types/component-types.ts::CapturedImagesResponse"
|
|
1466
1208
|
}
|
|
1467
1209
|
},
|
|
1468
|
-
"return": "Promise<
|
|
1210
|
+
"return": "Promise<CapturedImagesResponse>"
|
|
1469
1211
|
},
|
|
1470
1212
|
"docs": {
|
|
1471
1213
|
"text": "",
|
|
@@ -1559,15 +1301,20 @@ export class JaakStamps {
|
|
|
1559
1301
|
},
|
|
1560
1302
|
"getStatus": {
|
|
1561
1303
|
"complexType": {
|
|
1562
|
-
"signature": "() => Promise<
|
|
1304
|
+
"signature": "() => Promise<StatusResponse>",
|
|
1563
1305
|
"parameters": [],
|
|
1564
1306
|
"references": {
|
|
1565
1307
|
"Promise": {
|
|
1566
1308
|
"location": "global",
|
|
1567
1309
|
"id": "global::Promise"
|
|
1310
|
+
},
|
|
1311
|
+
"StatusResponse": {
|
|
1312
|
+
"location": "import",
|
|
1313
|
+
"path": "../../types/component-types",
|
|
1314
|
+
"id": "src/types/component-types.ts::StatusResponse"
|
|
1568
1315
|
}
|
|
1569
1316
|
},
|
|
1570
|
-
"return": "Promise<
|
|
1317
|
+
"return": "Promise<StatusResponse>"
|
|
1571
1318
|
},
|
|
1572
1319
|
"docs": {
|
|
1573
1320
|
"text": "",
|
|
@@ -1593,15 +1340,20 @@ export class JaakStamps {
|
|
|
1593
1340
|
},
|
|
1594
1341
|
"getCameraInfo": {
|
|
1595
1342
|
"complexType": {
|
|
1596
|
-
"signature": "() => Promise<
|
|
1343
|
+
"signature": "() => Promise<CameraInfoResponse>",
|
|
1597
1344
|
"parameters": [],
|
|
1598
1345
|
"references": {
|
|
1599
1346
|
"Promise": {
|
|
1600
1347
|
"location": "global",
|
|
1601
1348
|
"id": "global::Promise"
|
|
1349
|
+
},
|
|
1350
|
+
"CameraInfoResponse": {
|
|
1351
|
+
"location": "import",
|
|
1352
|
+
"path": "../../types/component-types",
|
|
1353
|
+
"id": "src/types/component-types.ts::CameraInfoResponse"
|
|
1602
1354
|
}
|
|
1603
1355
|
},
|
|
1604
|
-
"return": "Promise<
|
|
1356
|
+
"return": "Promise<CameraInfoResponse>"
|
|
1605
1357
|
},
|
|
1606
1358
|
"docs": {
|
|
1607
1359
|
"text": "",
|
|
@@ -1712,66 +1464,6 @@ export class JaakStamps {
|
|
|
1712
1464
|
"text": "",
|
|
1713
1465
|
"tags": []
|
|
1714
1466
|
}
|
|
1715
|
-
},
|
|
1716
|
-
"getImageQuality": {
|
|
1717
|
-
"complexType": {
|
|
1718
|
-
"signature": "() => Promise<{ qualityScore: any; overallQuality: any; issues: any; recommendations: any; canCapture: boolean; }>",
|
|
1719
|
-
"parameters": [],
|
|
1720
|
-
"references": {
|
|
1721
|
-
"Promise": {
|
|
1722
|
-
"location": "global",
|
|
1723
|
-
"id": "global::Promise"
|
|
1724
|
-
}
|
|
1725
|
-
},
|
|
1726
|
-
"return": "Promise<{ qualityScore: any; overallQuality: any; issues: any; recommendations: any; canCapture: boolean; }>"
|
|
1727
|
-
},
|
|
1728
|
-
"docs": {
|
|
1729
|
-
"text": "",
|
|
1730
|
-
"tags": []
|
|
1731
|
-
}
|
|
1732
|
-
},
|
|
1733
|
-
"setQualityThresholds": {
|
|
1734
|
-
"complexType": {
|
|
1735
|
-
"signature": "(thresholds: QualityThresholds) => Promise<{ success: boolean; thresholds: QualityThresholds; }>",
|
|
1736
|
-
"parameters": [{
|
|
1737
|
-
"name": "thresholds",
|
|
1738
|
-
"type": "QualityThresholds",
|
|
1739
|
-
"docs": ""
|
|
1740
|
-
}],
|
|
1741
|
-
"references": {
|
|
1742
|
-
"Promise": {
|
|
1743
|
-
"location": "global",
|
|
1744
|
-
"id": "global::Promise"
|
|
1745
|
-
},
|
|
1746
|
-
"QualityThresholds": {
|
|
1747
|
-
"location": "import",
|
|
1748
|
-
"path": "../../services/interfaces/IDetectionService",
|
|
1749
|
-
"id": "src/services/interfaces/IDetectionService.ts::QualityThresholds"
|
|
1750
|
-
}
|
|
1751
|
-
},
|
|
1752
|
-
"return": "Promise<{ success: boolean; thresholds: QualityThresholds; }>"
|
|
1753
|
-
},
|
|
1754
|
-
"docs": {
|
|
1755
|
-
"text": "",
|
|
1756
|
-
"tags": []
|
|
1757
|
-
}
|
|
1758
|
-
},
|
|
1759
|
-
"getQualityThresholds": {
|
|
1760
|
-
"complexType": {
|
|
1761
|
-
"signature": "() => Promise<{ minQualityScore: number; minFocusScore: number; minBlurScore: number; maxReflectionScore: number; }>",
|
|
1762
|
-
"parameters": [],
|
|
1763
|
-
"references": {
|
|
1764
|
-
"Promise": {
|
|
1765
|
-
"location": "global",
|
|
1766
|
-
"id": "global::Promise"
|
|
1767
|
-
}
|
|
1768
|
-
},
|
|
1769
|
-
"return": "Promise<{ minQualityScore: number; minFocusScore: number; minBlurScore: number; maxReflectionScore: number; }>"
|
|
1770
|
-
},
|
|
1771
|
-
"docs": {
|
|
1772
|
-
"text": "",
|
|
1773
|
-
"tags": []
|
|
1774
|
-
}
|
|
1775
1467
|
}
|
|
1776
1468
|
};
|
|
1777
1469
|
}
|