Skip to content

Preserve color through linear HDR bloom - #489

Merged
zackees merged 1 commit into
mainfrom
agent/preserve-linear-hdr-color
Aug 12, 2026
Merged

Preserve color through linear HDR bloom#489
zackees merged 1 commit into
mainfrom
agent/preserve-linear-hdr-color

Conversation

@zackees

@zackees zackees commented Aug 12, 2026

Copy link
Copy Markdown
Owner

What changed

  • process source sampling, blur, and HDR bloom brackets in linear light using floating-point render targets
  • preserve highlight-selection behavior while compositing the bloom brackets before the single sRGB output conversion
  • declare BT.709/sRGB full-range color metadata in new RGB8 .fled recordings and decode RGB8 playback into linear light
  • keep brightness limits perceptual and add focused color-space and capture tests

Why

Mapped renders were lifting dark shadows and shifting yellow midtones toward orange because blur and bloom mixed display-encoded 8-bit values. Repeated quantization also reduced useful highlight and shadow precision.

This keeps intermediate rendering linear and high precision, then quantizes once at the display/recording boundary. The result preserves deeper blacks, yellow midtones, highlight detail, and the established HDR bloom appearance.

Validation

  • npm test — 712 tests passed
  • npm run build — passed
  • scoped ESLint over changed source/test files — passed
  • npm run test:integration -- moviemaker-preview — passed
  • focused moviemaker max-brightness GPU integration test — passed
  • rendered 64×64, 60 fps comparison video inspected at the previously problematic 6 s and 10 s frames
  • full FFmpeg decode of the output completed without errors

@zackees
zackees merged commit 07c9480 into main Aug 12, 2026
4 checks passed
@zackees
zackees deleted the agent/preserve-linear-hdr-color branch August 12, 2026 17:46
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.

1 participant