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
+285 -5
View File
@@ -104,12 +104,12 @@ Current variant inventory:
| Metric | Count |
| --- | ---: |
| Curated variants | 86 |
| Pre-A/B candidates | 35 |
| Needs samples | 51 |
| Curated variants | 131 |
| Pre-A/B candidates | 55 |
| Needs samples | 76 |
| Hold | 0 |
| Covered non-empty source folders | 76 |
| Uncovered non-empty source folders | 25 |
| Covered non-empty source folders | 101 |
| Uncovered non-empty source folders | 0 |
Catalog review notes:
@@ -155,11 +155,291 @@ Catalog review notes:
609, 608, 0011, 0006, and 0002_2 were split out as
`normal_penis_worship_laying_partner_vertical_side_view`. These remain
`needs_samples` until the folder is more fully sorted by camera orientation.
- 2026-07-02 penis-worship residual review: generated review artifacts now
preserve the foreground-close source-pool anchor plus the existing top,
side, and laying-partner side-view anchors. The 29 unselected images remain
mixed across foreground-heavy, front, and near-POV framing, so no additional
references or prompt-ready subvariant were promoted.
- 2026-07-02 reverse-cowgirl unused-pool tranche: the uncovered
`reverse cowgirl` folder with 240 JPGs was added as
`normal_reverse_cowgirl_mixed_camera_folder_pool`. It is a no-generation
cue-expansion pool, not a prompt-ready route; selected-reference subvariants
should be added only after paged contact-sheet evidence shows repeated
non-POV camera geometry. The first promoted selected-reference splits are
`normal_reverse_cowgirl_front_view`, a 12-image front-view subset,
`normal_reverse_cowgirl_front_three_quarter`, a 12-image front-offset subset,
and `normal_reverse_cowgirl_low_close_front_view`, a 12-image low-close
front-view subset from the paged and residual contact-sheet review.
- 2026-07-02 doggy all-fours rear three-quarter expansion: residual
contact-sheet review of `doggy on all four - back view - 3-4 angle` expanded
`normal_doggy_all_fours_back_three_quarter` from 3 to 15 reviewed references.
The route key and prompt cues remain stable; low, front-drifting, and
tight-crop outliers remain outside the selected subset.
- 2026-07-02 doggy all-fours side-view residual review: residual contact-sheet
review of `doggy on all four - side view` kept
`normal_doggy_all_fours_side_view` at its existing 14 reviewed references.
Remaining images mix standing, bed, chair, close, and front-drifting frames,
so no additional references were promoted in this pass.
- 2026-07-02 doggy all-fours front-view expansion: residual contact-sheet
review of `doggy all four - front view` expanded
`normal_doggy_all_fours_front_view` from 3 to 15 reviewed references. The
selected subset keeps front-facing all-fours framing with face and forearms
readable; side-drifting, seated, tight-close, and vertical-crop outliers
remain outside the route.
- 2026-07-02 doggy generic front-view expansion: residual contact-sheet review
of the duplicate trailing-space `doggy - front view ` folder expanded
`normal_doggy_generic_front_view` from 6 to 15 reviewed references. The route
remains grouped with the non-trailing duplicate folder, and one weak top/down
close crop remains outside the selected subset.
- 2026-07-02 piledriver selected split: residual contact-sheet review of
`piledriver` preserved `normal_piledriver_mixed_camera_folder_pool` as a
`needs_samples` source pool and promoted
`normal_piledriver_high_front_down_view` as a 15-image high/front-down
selected-reference subvariant. Tight top crops, side drifts, and mixed
examples remain outside the selected route.
- 2026-07-02 blowjob laying front-view expansion: residual contact-sheet review
of `blowjob - laying - front view` expanded
`normal_blowjob_laying_front_view` from 3 to 15 reviewed references. The
selected subset keeps front-facing laying oral-contact geometry; side-drifting,
wide couch/bed, and weak close-crop examples remain outside the route.
- 2026-07-02 breast-contact front-view expansion: residual contact-sheet review
of `breast - touching - front view` expanded
`normal_breast_contact_front_view` from 3 to 15 reviewed references. The
selected subset keeps front-facing body-contact geometry while side-drifting,
costume/standing outliers, and weak-contact crops remain outside the route.
- 2026-07-02 reverse-congress front-view expansion: residual contact-sheet
review of `reverse congress - front view` expanded
`normal_reverse_congress_front_view` from 3 to 15 reviewed references. The
selected subset keeps lifted/front-facing stacked-body geometry while tight
low crops, side/bed drift, and seated-only outliers remain outside the route.
- 2026-07-02 boobjob selected split: residual contact-sheet review of `boobjob`
preserved `normal_boobjob_front_close_mixed_camera_folder_pool` as a
`needs_samples` source pool and promoted
`normal_boobjob_front_close_view` as a 12-image front-close
selected-reference subvariant. Side, standing, foreground-heavy, and
downward/crop-drifting outliers remain outside the route.
- 2026-07-02 fingering selected split: contact-sheet review of `fingering`
added `normal_fingering_mixed_camera_folder_pool` as a `needs_samples` source
pool and promoted `normal_fingering_reclined_front_view` as a 10-image
reclined front-view selected-reference subvariant. Upright chair, standing,
side, and stronger oral-adjacent outliers remain outside the route.
- 2026-07-02 wand selected split: contact-sheet review of `wand` added
`normal_wand_mixed_camera_folder_pool` as a `needs_samples` source pool and
promoted `normal_wand_front_close_view` as a 7-image front-close
selected-reference subvariant. Side, portrait-close, and wider posture
outliers remain outside the route.
- 2026-07-02 ballsucking standing selected split: contact-sheet review of
`ballsucking - standing` preserved
`normal_ballsucking_standing_partner_mixed_camera_folder_pool` as a
`needs_samples` source pool and promoted
`normal_ballsucking_standing_low_side_view` as an 11-image low side/near-side
selected-reference subvariant. The water-close outlier remains outside the
route.
- 2026-07-02 face-sitting source-pool review: contact-sheet review of
`face sitting` added `normal_face_sitting_mixed_camera_folder_pool` as a
4-image `needs_samples` source pool. Three front/near-front samples and one
rear/back-view outlier are preserved as review evidence; no pre-A/B route was
promoted.
- 2026-07-02 pussy-licking back-view source-pool review: contact-sheet review
of `pussy licking - backv iew` added
`normal_pussy_licking_backview_mixed_camera_folder_pool` as a 3-image
`needs_samples` source pool. The folder label is not promoted as prompt truth:
samples read as elevated front or high-oblique third-person references, so no
pre-A/B route was promoted.
- 2026-07-02 removing-pants source-pool review: contact-sheet review of
`removing pants` added `normal_removing_pants_mixed_camera_folder_pool` as a
3-image `needs_samples` source pool. The samples are close, near-duplicate,
and foreground-heavy, so they remain action evidence rather than a promoted
camera route.
- 2026-07-02 thin-folder source-pool batch: contact-sheet review added
`normal_rimjob_mixed_camera_folder_pool`,
`normal_footjob_mixed_camera_folder_pool`,
`normal_reverse_cowgirl_leg_up_mixed_camera_folder_pool`,
`normal_reverse_cowgirl_pretzel_mixed_camera_folder_pool`, and
`normal_fist_mixed_camera_folder_pool` as `needs_samples` coverage pools.
Each folder has only one to three samples, so no pre-A/B camera route was
promoted.
- 2026-07-02 final single-reference coverage batch: contact-sheet review added
coverage-only `needs_samples` pools for the remaining 12 one-image folders,
including thin anal, oral, doggy, face-sitting, handjob, and under-desk
references. This brings all non-empty source folders into the reviewed
variant catalog without promoting any single-image folder to pre-A/B.
- 2026-07-02 covered mixed-pool artifact pass: review manifests/contact sheets
were added for the already-cataloged `ballsucking - laying`, `pretzel`, and
`woman ass exposed` source pools. `woman ass exposed` now carries all four
folder images as `needs_samples` evidence; no pre-A/B route was promoted.
- 2026-07-02 sixty-nine selected split: contact-sheet review of `69` added
`normal_sixty_nine_mixed_camera_folder_pool` as a `needs_samples` source pool
and promoted `normal_sixty_nine_front_close_view` as a 7-image front-close
selected-reference subvariant. Side/downward, upright seated, and wider
room-context outliers remain outside the route.
- 2026-07-02 handjob standing side-view residual review: residual contact-sheet
review of `handjob standing - side view` kept
`normal_handjob_standing_side_profile` at its existing 7 reviewed references.
Remaining images mix kneeling, seated, close portrait, near-front, and
oral-adjacent frames, so no additional references were promoted in this pass.
- 2026-07-02 breast-sucking side-view expansion: residual contact-sheet review
of `breast sucking - side view` expanded
`normal_breast_sucking_side_view` from 3 to 15 reviewed references. The
route remains side/near-side rather than strict profile-only; front-only,
hand-touch-only, and weak-contact examples remain outside the selected subset.
- 2026-07-02 standing from-front side-view residual review: residual
contact-sheet review of `fuck from front standing - side view` kept
`normal_standing_from_front_side_view` at its existing 3 reviewed references.
Remaining images include some usable side/near-side frames, but too many drift
into suspended/lifted, close-crop, couch, or front-heavy framing for a safe
reference expansion.
- 2026-07-02 standing backside side-view residual review: residual contact-sheet
review of `fuck from behind standing - woman backside - side view` kept
`normal_doggy_standing_backside_side_view` at its existing 16 reviewed
references and preserved the 3-image folder-pool anchor. Remaining images mix
lifted, seated, bed/couch, front-drifting, and portrait-like frames, so no
additional references or distinct subvariant were promoted.
- 2026-07-02 generic doggy rear three-quarter expansion: residual contact-sheet
review of `doggy - back view - 3-4 angle` expanded
`normal_doggy_generic_back_three_quarter` from 3 to 15 reviewed references.
The selected subset keeps back-offset normal-camera composition while
low/close and laying-drift examples remain outside the route.
- 2026-07-02 cowgirl side-view expansion: residual contact-sheet review of
`cowgirl - side view` expanded `normal_cowgirl_side_profile` from 3 to 15
reviewed references. The selected subset keeps lateral straddle composition
while front-drifting, rear-drifting, and tight-crop examples remain outside
the route.
- 2026-07-02 anal-random unused-pool tranche: the uncovered `anal random`
folder with 99 JPGs was added as
`normal_anal_random_mixed_camera_folder_pool`. Paged contact-sheet review
promoted `normal_anal_random_front_view` as an 11-image front-view
selected-reference split; residual-pool review then promoted
`normal_anal_random_back_side_offset_view` as a 12-image rear/side-offset
split. It remains `needs_samples` for standing, overhead-like, tight-crop, and
other mixed material.
- 2026-07-02 breasts-exposed selected splits: paged contact-sheet review of the
168-image `breasts exposed` source pool promoted
`normal_display_breasts_exposed_front_view` and
`normal_display_breasts_exposed_side_offset_view`; residual-pool review then
promoted `normal_display_breasts_exposed_standing_front_view` as a 12-image
upright standing front-view subset and
`normal_display_breasts_exposed_seated_kneeling_front_view` as a 12-image
seated/kneeling front-view subset. The mixed source pool remains
`needs_samples` for close-crop, couple/action, side-drifting, and other
display families.
- 2026-07-02 front open-leg display selected splits: paged contact-sheet review
of the 100-image `pussy spread` source pool promoted
`normal_display_front_open_leg_front_view` and
`normal_display_front_open_leg_low_close`; residual-pool review then promoted
`normal_display_front_open_leg_side_offset_view` as a 12-image side-offset
seated or reclined subset. The mixed source pool remains `needs_samples` for
remaining front, low-close, and one-off crop/camera variants.
- 2026-07-02 couple-kissing selected split: paged contact-sheet review of the
88-image `couple kissing` source pool promoted
`normal_couple_kissing_upright_side_profile` as a 12-image upright
side-profile subset. Seated, bed, close-crop, and front-facing examples stay
in the mixed source pool.
- 2026-07-02 cowgirl back-three-quarter reference expansion: residual-pool
review of the 129-image `cowgirl - back view - 3-4 angle` source folder kept
the existing `normal_cowgirl_back_three_quarter` route and expanded it to 15
selected references instead of creating a near-duplicate route.
- 2026-07-02 rear-body display selected split: residual-pool review of the
99-image `woman solo showing her hass - back view` source folder promoted
`normal_display_rear_body_standing_back_view` as a 12-image upright standing
back-view subset. The broad folder pool remains `needs_samples` for seated,
kneeling, side-leaning, and close-crop rear examples.
- 2026-07-02 maintenance phase: prep artifacts now include a dedicated
validator, review indexes, per-image manifest annotations, explicit
typo/spacing alias metadata, and a separate `needs_samples` acquisition list.
These additions do not promote any new route and do not add generated
evidence.
Do not add fixed-seed evidence, eval-log IDs, or generator-default decisions to
this catalog until the normal-camera A/B workflow starts. Keep POV A/B notes in
the existing POV files.
## No-Generation Prep Artifacts
Prepared dry-run artifacts live under `ab_batches/normal_camera/`:
- `normal_camera_priority_plan.json`: all 55 `pre_ab_candidate` variants in
stable catalog order, with representative references and deferred counts for
`needs_samples` and `hold`.
- `normal_camera_prompt_cue_batch.json`: source prompt cues split into
prompt-ready positive cues and blocked review-only cues. Option words,
negative wording, contrast wording, and instruction-like cleanup text stay out
of prompt-ready text.
- `normal_camera_score_sheet.json`: blank later-generation scoring rows for the
selected variants. Rows keep generator seed, sampling seed, image path, score,
note, and decision slots empty until fixed-seed generation exists.
- `normal_camera_acceptance_gates.md`: human-readable scoring gates for later
A/B review.
- `normal_camera_unused_pool_backlog.json`: larger remaining source folders
ranked by unselected image count so future tranches can proceed beyond the
first reverse-cowgirl unused-pool tranche. Rows include `folder_alias`
metadata so typo and spacing fixes remain separate from exact source paths.
- `normal_camera_needs_samples_acquisition.json` and
`normal_camera_needs_samples_acquisition.md`: all 76 `needs_samples` variants
sorted by missing reference count against a 12-reference target. This list is
for reference acquisition and remains separate from the 55-item pre-A/B
priority plan.
- `review/index.html` and `review/index.md`: no-generation indexes linking all
generated review manifests and contact sheets by source folder, canonical
alias label, image count, selected-reference count, and residual count.
- `review/reverse_cowgirl_review_manifest.json`: no-generation review manifest
for all 240 JPGs in the uncovered `reverse cowgirl` folder, paged for contact
sheet review. Review manifests now include `review_items` for every image:
selected references are marked `selected_reference`; remaining images are
marked `residual_unassigned` with a conservative exclusion reason until a
human assigns a tighter bucket.
- `review/reverse_cowgirl_contact_sheet.html`: local-image contact sheet for
assigning review buckets before any selected-reference subvariant is promoted.
- `review/breasts_exposed_review_manifest.json` and
`review/breasts_exposed_contact_sheet.html`: no-generation review scaffold for
the large mixed display source pool.
- `review/pussy_spread_review_manifest.json` and
`review/pussy_spread_contact_sheet.html`: no-generation review scaffold for
the large mixed front-display source pool.
- `review/anal_random_review_manifest.json` and
`review/anal_random_contact_sheet.html`: no-generation review scaffold for
the uncovered `anal random` source pool.
- `review/couple_kissing_review_manifest.json` and
`review/couple_kissing_contact_sheet.html`: no-generation review scaffold for
the large mixed couple-contact source pool.
- `review/cowgirl_back_view_3_4_angle_review_manifest.json` and
`review/cowgirl_back_view_3_4_angle_contact_sheet.html`: no-generation review
scaffold for the large rear three-quarter cowgirl source folder.
- `review/woman_solo_showing_her_hass_back_view_review_manifest.json` and
`review/woman_solo_showing_her_hass_back_view_contact_sheet.html`:
no-generation review scaffold for the large rear-body display source folder.
Acceptance gates for later fixed-seed review:
- `camera_geometry`: camera angle, elevation, side/front/back orientation, and
framing match the atlas family.
- `pose_ownership`: the visible actors own the pose correctly, with no POV body
cues leaking into normal-camera framing.
- `workspace_continuity`: workspace or lounge details support the camera angle
instead of fighting the pose.
- `clothing_visibility`: clothing cues stay attached to the intended visible
subject and only describe garments visible in the pose.
- `subject_identity`: the same woman identity, face, hair, eyes, and body type
remain stable across fixed-seed variants.
- `body_proportion_control`: penis/body proportions and limb lengths stay
plausible for the selected atlas framing.
- `prompt_noise`: prompt text uses direct visual cues, with option, negative,
and instruction-like wording removed from positive text.
- `atlas_reference_match`: the generated frame can be matched back to the
selected atlas references for the variant.
Regenerate these files without sending prompts or images:
```bash
python -m normal_camera_atlas_prep --write-artifacts --output-dir ab_batches/normal_camera
```
Validate the catalog and generated artifacts:
```bash
python tools/normal_camera_atlas_validate.py --artifacts-dir ab_batches/normal_camera
```
## Camera Geometry Notes
### Side View