Skip to content

Let people be badly lit in amateur-snapshot looks, and keep test-frame people in the plate's light - #14661

Merged
atomantic merged 6 commits into
mainfrom
portos/amateur-snapshot-lighting
Nov 2, 2026
Merged

atomantic merged 6 commits into
mainfrom
portos/amateur-snapshot-lighting

Conversation

@atomantic

Copy link
Copy Markdown
Owner

Summary

People placed into a set read as pasted in when they are lit cleaner and brighter than the place around them, and a found-footage look (snapshots, home video, VHS-C, Super 8, Polaroid, pop-up flash) should light people badly, as real snapshots do.

  • New server/lib/musicVideoSnapshotLight.js: detects an amateur look from the style text and returns the lighting line for people.
  • Cast & Sets test frames always carry a line keeping the person in the plate's own light (exposure, color cast, grain, no studio or rim light). For an amateur look they get the authentic snapshot line instead (often underexposed, unevenly lit, half in shadow).
  • Shot stills get a people-light prompt block ("Lighting on people") only when the project style or director look is amateur; other projects' prompts are unchanged.

Test plan

  • npx vitest run lib/musicVideo services/musicVideo (excluding Suno/browser suites): 149 files, 1980 tests passed.
  • New tests: look detection, test-frame lighting line for cinematic vs amateur looks, still block present only for an amateur style.

… people in the plate's light

A Cast & Sets test frame of a girl on a dead-mall escalator read as
photoshopped in: she was lit cleaner and brighter than the room. For a
found-footage look (snapshots, home video, VHS-C, Super 8, Polaroid, pop-up
flash) that is backwards: real snapshots light people badly.

- Cast & Sets test frames always ask for people lit only by the place's own
  light, at its exposure, color cast and grain; for an amateur look they ask
  for authentic snapshot light (underexposed, uneven, half in shadow).
- Shot stills add a 'Lighting on people' block with the amateur rule when the
  project style or director look is amateur; other looks get nothing new.
@atomantic
atomantic requested a review from wrenchwren November 2, 2026 04:35
@atomantic
atomantic requested a review from picodot November 2, 2026 05:15
@atomantic

Copy link
Copy Markdown
Owner Author

Self-review (wrenchwren is out of usage): the new line changes every Cast & Sets test-frame prompt, so a project's test frames re-render on its next Cast & Sets regeneration. That's intended. Stills only gain the block for amateur looks, so other projects' still prompts are unchanged. Fixed one README nit (an empty code span). No other findings.

@picodot picodot left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed fa39ea7. Two ordinary authoring flows produce contradictory lighting instructions: an explicit exclusion of amateur aesthetics activates them, and an era-specific look cannot override an amateur project look. Please address those before merging.

The three focused test files passed (26 tests). Additional prompt-composition checks reproduced these conflicts. No paid image generation was run, so effects on a specific model's output were not measured; this is prompt construction verification, not visual-output QA.

Non-blocking wording suggestion: SCENE_LIGHT_ON_PEOPLE says 'never studio-lit, rim-lit' even when the set explicitly contains studio or rim lighting. Prohibit additional lighting absent from the plate rather than forbidding lighting already specified by the set.

Comment thread server/lib/musicVideoSnapshotLight.js Resolved
…look

Review on #14661: 'avoid VHS and amateur aesthetics' matched the amateur
regex and switched snapshot lighting on, and an era set with a polished look
still got amateur light from the project look. Clauses that exclude a style
no longer count, test frames classify only the look they actually use
(the era/form look, else the project look), and both lines now forbid light
the place lacks instead of banning studio or rim light outright.
@atomantic

Copy link
Copy Markdown
Owner Author

Addressed both P2s and the wording suggestion: exclusion clauses no longer count, test frames judge the frame's own look, and the lines now forbid light the place lacks instead of banning studio/rim light.

@atomantic
atomantic requested a review from picodot November 2, 2026 05:25

@picodot picodot left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed 119d7d0. The era-specific look precedence and rim-light wording are fixed. One issue remains in the new exclusion handling: ordinary positive style directions that exclude unwanted lighting now lose the intended snapshot-lighting block.

All 27 tests in the three focused files passed. Additional prompt-composition checks reproduced the cases in the inline finding. No generated-image QA or full-suite run was performed.

Comment thread server/lib/musicVideoSnapshotLight.js Resolved
Review on #14661: dropping a whole clause that contained 'no' turned off
snapshot light for 'VHS-C home video with no studio lights', and splitting on
commas let 'avoid VHS, camcorder grain, or Polaroid effects' switch it on from
the later list items. Clauses now split on sentence and semicolon breaks only
and are cut at the first exclusion word.
@atomantic
atomantic requested a review from picodot November 2, 2026 05:45

@picodot picodot left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed 33ad361. The reported positive-look and excluded-list cases now select the expected lighting, and the era-specific look and existing rim-light behavior remain correct. All previously reported findings are resolved; no new actionable issues found in this delta.

All 27 tests in the three focused files passed, with additional prompt checks of the reported cases. This verifies prompt construction; no generated-image QA or full-suite run was performed. CI was still in progress at the final check. This is a COMMENT review, not a formal approval.

@atomantic
atomantic merged commit 56a71db into main Nov 2, 2026
16 checks passed
@atomantic
atomantic deleted the portos/amateur-snapshot-lighting branch November 2, 2026 05:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants