Skip to content

Commit 877f868

Browse files
committed
updating deepfake inspector.
1) Adding a new page. 2) added multiple functionality. 2.1) multiple maginify options, 2.2) save the selected area for with anomaly. 3) fixed datasets page image alignments.
1 parent 038ea50 commit 877f868

10 files changed

Lines changed: 2270 additions & 166 deletions

Datasets.html

Lines changed: 166 additions & 42 deletions
Large diffs are not rendered by default.

Datasets_kor.html

Lines changed: 142 additions & 40 deletions
Large diffs are not rendered by default.

_site/Datasets.html

Lines changed: 166 additions & 42 deletions
Large diffs are not rendered by default.

_site/Datasets_kor.html

Lines changed: 142 additions & 40 deletions
Large diffs are not rendered by default.

_site/css/style.css

Lines changed: 209 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,4 +560,212 @@ img.clickable-image:hover { transform: scale(1.02); }
560560
#modal-content { position: relative; max-width: 90%; max-height: 90%; text-align: center; }
561561
#modal-img { max-width: 100%; max-height: 100vh; display: block; margin: auto; border-radius: 8px; box-shadow: 0 0 20px rgba(255, 255, 255, 0.2); }
562562
.close-btn { position: absolute; top: 10px; right: 10px; color: #fff; font-size: 2rem; font-weight: bold; cursor: pointer; z-index: 10000; opacity: 0.8; padding: 5px 15px; background: rgba(0,0,0,0.5); border-radius: 50%; line-height: 1; }
563-
.close-btn:hover { opacity: 1; }
563+
.close-btn:hover { opacity: 1; }
564+
565+
566+
/* ==========================================================================
567+
12. DEEPFAKE INSPECTOR TOOL
568+
========================================================================== */
569+
570+
.canvas-container {
571+
position: relative;
572+
background-color: #0d0d0d;
573+
border-radius: 12px;
574+
display: flex;
575+
flex-direction: column;
576+
align-items: center;
577+
justify-content: center;
578+
overflow: hidden;
579+
min-height: 450px; /* Mobile height */
580+
cursor: crosshair;
581+
border: 1px solid #333;
582+
box-shadow: inset 0 0 60px rgba(0,0,0,0.7);
583+
transition: border-color 0.3s ease;
584+
}
585+
586+
/* Balance width Sidebar on Desktop */
587+
@media (min-width: 1024px) {
588+
.canvas-container {
589+
min-height: 720px;
590+
}
591+
}
592+
593+
.canvas-container.drag-active {
594+
border-color: #1976d2;
595+
background-color: #1a1a1a;
596+
}
597+
598+
.canvas-container.is-locked {
599+
border-color: #28a745;
600+
}
601+
602+
#main-canvas {
603+
position: absolute;
604+
max-width: 100%;
605+
height: auto;
606+
z-index: 1;
607+
}
608+
609+
.selection-box {
610+
position: absolute;
611+
width: 64px;
612+
height: 64px;
613+
border: 1px solid rgba(25, 118, 210, 0.8);
614+
background: rgba(25, 118, 210, 0.1);
615+
box-shadow: 0 0 0 4000px rgba(0,0,0,0.3);
616+
pointer-events: none;
617+
z-index: 5;
618+
display: none;
619+
transition: border-color 0.3s, background 0.3s;
620+
}
621+
622+
.selection-box.locked {
623+
border-color: #28a745;
624+
background: rgba(40, 167, 69, 0.2);
625+
border-width: 2px;
626+
box-shadow: 0 0 0 4000px rgba(0,0,0,0.5);
627+
}
628+
629+
#lens-preview {
630+
position: absolute;
631+
width: 256px;
632+
height: 256px;
633+
border: 4px solid #fff;
634+
box-shadow: 0 0 40px rgba(0,0,0,0.9);
635+
display: none;
636+
border-radius: 50%;
637+
pointer-events: none;
638+
z-index: 100;
639+
background-color: #000;
640+
transition: transform 0.2s ease-out, border-color 0.3s;
641+
}
642+
643+
.is-locked #lens-preview {
644+
border-color: #28a745;
645+
transform: scale(1.05);
646+
}
647+
648+
/* Center Empty State mathematically */
649+
#empty-state {
650+
position: absolute;
651+
top: 50%;
652+
left: 50%;
653+
transform: translate(-50%, -50%);
654+
display: flex;
655+
flex-direction: column;
656+
align-items: center;
657+
justify-content: center;
658+
text-align: center;
659+
width: 90%;
660+
max-width: 400px;
661+
padding: 40px 20px;
662+
border: 2px dashed #444;
663+
border-radius: 24px;
664+
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
665+
z-index: 2;
666+
background: rgba(255,255,255,0.02);
667+
}
668+
669+
.drag-active #empty-state {
670+
border-color: #1976d2;
671+
transform: translate(-50%, -50%) scale(1.05);
672+
}
673+
674+
#empty-state i {
675+
font-size: 5rem;
676+
color: #1976d2;
677+
margin-bottom: 24px;
678+
filter: drop-shadow(0 0 15px rgba(25, 118, 210, 0.4));
679+
animation: iconPulse 3s infinite ease-in-out;
680+
}
681+
682+
#empty-state p {
683+
font-size: 1.15rem;
684+
font-weight: 500;
685+
color: #bbb;
686+
line-height: 1.6;
687+
margin: 0;
688+
}
689+
690+
@keyframes iconPulse {
691+
0%, 100% { transform: translateY(0); opacity: 0.8; }
692+
50% { transform: translateY(-10px); opacity: 1; filter: drop-shadow(0 0 25px rgba(25, 118, 210, 0.6)); }
693+
}
694+
695+
.switch {
696+
position: relative;
697+
display: inline-block;
698+
width: 50px;
699+
height: 24px;
700+
}
701+
.switch input { opacity: 0; width: 0; height: 0; }
702+
.slider {
703+
position: absolute;
704+
cursor: pointer;
705+
top: 0; left: 0; right: 0; bottom: 0;
706+
background-color: #ccc;
707+
transition: .4s;
708+
border-radius: 24px;
709+
}
710+
.slider:before {
711+
position: absolute;
712+
content: "";
713+
height: 18px; width: 18px;
714+
left: 3px; bottom: 3px;
715+
background-color: white;
716+
transition: .4s;
717+
border-radius: 50%;
718+
}
719+
input:checked + .slider { background-color: #1976d2; }
720+
input:checked + .slider:before { transform: translateX(26px); }
721+
722+
.forensic-btn {
723+
display: inline-flex;
724+
align-items: center;
725+
justify-content: center;
726+
gap: 8px;
727+
padding: 10px 16px;
728+
border-radius: 8px;
729+
font-weight: 600;
730+
font-size: 0.9rem;
731+
transition: all 0.2s;
732+
cursor: pointer;
733+
width: auto;
734+
white-space: nowrap;
735+
}
736+
737+
.sidebar-btn {
738+
width: 100%;
739+
margin-bottom: 10px;
740+
}
741+
742+
.btn-primary {
743+
background-color: #1976d2;
744+
color: white;
745+
border: none;
746+
}
747+
.btn-primary:hover {
748+
background-color: #1565c0;
749+
transform: translateY(-1px);
750+
box-shadow: 0 4px 12px rgba(25, 118, 210, 0.3);
751+
}
752+
753+
.btn-secondary {
754+
background-color: #f8f9fa;
755+
color: #333;
756+
border: 1px solid #ddd;
757+
}
758+
.btn-secondary:hover {
759+
background-color: #e9ecef;
760+
border-color: #ccc;
761+
}
762+
763+
.btn-danger {
764+
background-color: #fff5f5;
765+
color: #dc3545;
766+
border: 1px solid #feb2b2;
767+
}
768+
.btn-danger:hover {
769+
background-color: #fee2e2;
770+
transform: translateY(-1px);
771+
}

0 commit comments

Comments
 (0)