feat: add normal camera atlas maintenance tooling

This commit is contained in:
2026-07-03 10:22:39 +02:00
parent 36594e6449
commit 5442e4ee4c
116 changed files with 59290 additions and 94 deletions
@@ -0,0 +1,73 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Normal Camera Review Contact Sheet: wand</title>
<style>
body{font-family:Arial,sans-serif;margin:24px;background:#f6f6f3;color:#1f2328}
h1{font-size:22px;margin:0 0 8px}
h2{font-size:18px;margin:28px 0 12px}
.meta{margin:0 0 16px;color:#4b5563}
.buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:16px 0}
.bucket{background:#fff;border:1px solid #d0d7de;border-radius:6px;padding:8px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
figure{margin:0;background:#fff;border:1px solid #d0d7de;border-radius:6px;overflow:hidden}
img{display:block;width:100%;height:150px;object-fit:cover;background:#ddd}
figcaption{font-size:12px;line-height:1.35;padding:6px;word-break:break-word}
.bucket-slot{display:block;margin-top:4px;color:#6b7280}
</style>
</head>
<body>
<h1>Normal Camera Review Contact Sheet: wand</h1>
<p class="meta">No-generation contact sheet. 9 JPGs from <code>wand</code>. Review buckets are placeholders until visual review assigns them.</p>
<p class="meta">Canonical folder label: <code>wand</code>.</p>
<div class="buckets">
<div class="bucket"><strong>back_view</strong><br>Rear-facing normal-camera view where back/hips face camera.</div>
<div class="bucket"><strong>back_three_quarter</strong><br>Rear-offset normal-camera view with enough side/torso context.</div>
<div class="bucket"><strong>side_view</strong><br>Profile or near-profile lateral view with the body/action axis across frame.</div>
<div class="bucket"><strong>front_view</strong><br>Front-facing normal-camera view where the contact plane faces camera.</div>
<div class="bucket"><strong>front_three_quarter</strong><br>Front-offset normal-camera view.</div>
<div class="bucket"><strong>top_or_low_special</strong><br>Overhead, high-downward, low-angle, or under-view special camera.</div>
<div class="bucket"><strong>reject_or_unclear</strong><br>POV-like, mismatched, unclear, duplicate-only, or too mixed for cue drafting.</div>
</div>
<h2 id="page-01">Page 1: 1-9</h2>
<div class="grid">
<figure data-review-bucket="front_view" data-review-decision="selected_reference" data-selected-variant="normal_wand_front_close_view" data-reference-image="wand/0005.jpg">
<img src="file:///media/unraid/davinci/Qwen_edit_lora/pornpic/sorted/wand/0005.jpg" alt="wand/0005.jpg">
<figcaption><strong>001</strong> wand/0005.jpg<span class="bucket-slot">bucket: front_view / normal_wand_front_close_view</span></figcaption>
</figure>
<figure data-review-bucket="front_view" data-review-decision="selected_reference" data-selected-variant="normal_wand_front_close_view" data-reference-image="wand/0015.jpg">
<img src="file:///media/unraid/davinci/Qwen_edit_lora/pornpic/sorted/wand/0015.jpg" alt="wand/0015.jpg">
<figcaption><strong>002</strong> wand/0015.jpg<span class="bucket-slot">bucket: front_view / normal_wand_front_close_view</span></figcaption>
</figure>
<figure data-review-bucket="unassigned" data-review-decision="residual_unassigned" data-selected-variant="" data-reference-image="wand/0021.jpg">
<img src="file:///media/unraid/davinci/Qwen_edit_lora/pornpic/sorted/wand/0021.jpg" alt="wand/0021.jpg">
<figcaption><strong>003</strong> wand/0021.jpg<span class="bucket-slot">bucket: unassigned</span></figcaption>
</figure>
<figure data-review-bucket="front_view" data-review-decision="selected_reference" data-selected-variant="normal_wand_front_close_view" data-reference-image="wand/75.jpg">
<img src="file:///media/unraid/davinci/Qwen_edit_lora/pornpic/sorted/wand/75.jpg" alt="wand/75.jpg">
<figcaption><strong>004</strong> wand/75.jpg<span class="bucket-slot">bucket: front_view / normal_wand_front_close_view</span></figcaption>
</figure>
<figure data-review-bucket="front_view" data-review-decision="selected_reference" data-selected-variant="normal_wand_front_close_view" data-reference-image="wand/217.jpg">
<img src="file:///media/unraid/davinci/Qwen_edit_lora/pornpic/sorted/wand/217.jpg" alt="wand/217.jpg">
<figcaption><strong>005</strong> wand/217.jpg<span class="bucket-slot">bucket: front_view / normal_wand_front_close_view</span></figcaption>
</figure>
<figure data-review-bucket="reject_or_unclear" data-review-decision="selected_reference" data-selected-variant="normal_wand_mixed_camera_folder_pool" data-reference-image="wand/508.jpg">
<img src="file:///media/unraid/davinci/Qwen_edit_lora/pornpic/sorted/wand/508.jpg" alt="wand/508.jpg">
<figcaption><strong>006</strong> wand/508.jpg<span class="bucket-slot">bucket: reject_or_unclear / normal_wand_mixed_camera_folder_pool</span></figcaption>
</figure>
<figure data-review-bucket="front_view" data-review-decision="selected_reference" data-selected-variant="normal_wand_front_close_view" data-reference-image="wand/532.jpg">
<img src="file:///media/unraid/davinci/Qwen_edit_lora/pornpic/sorted/wand/532.jpg" alt="wand/532.jpg">
<figcaption><strong>007</strong> wand/532.jpg<span class="bucket-slot">bucket: front_view / normal_wand_front_close_view</span></figcaption>
</figure>
<figure data-review-bucket="front_view" data-review-decision="selected_reference" data-selected-variant="normal_wand_front_close_view" data-reference-image="wand/561.jpg">
<img src="file:///media/unraid/davinci/Qwen_edit_lora/pornpic/sorted/wand/561.jpg" alt="wand/561.jpg">
<figcaption><strong>008</strong> wand/561.jpg<span class="bucket-slot">bucket: front_view / normal_wand_front_close_view</span></figcaption>
</figure>
<figure data-review-bucket="front_view" data-review-decision="selected_reference" data-selected-variant="normal_wand_front_close_view" data-reference-image="wand/611.jpg">
<img src="file:///media/unraid/davinci/Qwen_edit_lora/pornpic/sorted/wand/611.jpg" alt="wand/611.jpg">
<figcaption><strong>009</strong> wand/611.jpg<span class="bucket-slot">bucket: front_view / normal_wand_front_close_view</span></figcaption>
</figure>
</div>
</body>
</html>