Repository navigation
✨ feat(renderer): add gamma and image auto contrast - #145
Conversation
Mega ReviewStatus: No confirmed Critical or Warning findings. One concrete Minor will be fixed before readiness: reduced lookup-table textures retain a larger buffer, which gives Pixi's WebGPU uploader the wrong row stride for tiny or extreme-aspect images. Normal still-image WebGL is unaffected. Coverage and limitsFour independent native Codex reviewers, one outside Claude reviewer and root adjudication covered all seven changed files and all 13 lenses. Actual installed Pixi 8.20.1 contracts were checked. One outside resize hypothesis relied on recalled dependency behavior; the actual uploader source refutes it. Review-clean does not replace tests or CI. WebGL pixel checks passed separately; WebGPU pixel output has not been exercised. Review LedgerOpen findings
Prior key statuses
Unresolved prior open findings
Deliberate tradeoffs
Refuted
Implausible
Pre-existing
|
Mega ReviewStatus: No confirmed Critical or Warning findings. One fresh native Codex lane, one outside Claude lane and root adjudication covered both complete changed files and all 13 lenses. CI Fixed since last round
Non-blockingOne accepted coverage noteThe production assignment order is correct. A future edit moving it below synchronous resize could evade the final-state upload test; this durability-only gap is accepted for this focused repair. Later reviewer feedback, Oct 14Review comment: Minor, confirmed test sensitivity. The documented CaveatsNarrowed round: the remaining PR surface retains round 1 coverage. The local WebGL pixel checks passed separately. Queue-descriptor tests exercise the real uploader, but hardware WebGPU pixels remain unverified. Review LedgerOpen findings
Prior key statuses
Unresolved prior open findings
Deliberate tradeoffs
Refuted
Implausible
Pre-existing
|
Mega ReviewStatus: No confirmed Critical or Warning findings. Converged after three rounds. Fresh Codex and Claude reviews, including completed whole-file coverage, and root adjudication covered all 13 lenses. Current-head CI and both security checks passed. Review-clean does not replace tests or CI. Fixed since last round
Non-blockingAccepted coverage limitsCurrent reset behavior is correct. The new activation step relies on earlier uniform assertions and the subsequent reset proof; additional activation assertions are deferred. The prior accepted event-time LUT ordering note remains unchanged. Non-default brightness reset coverage predates this addition and is outside this repair. CaveatsThis narrowed round covers the repair and carried concerns; untouched runtime retains earlier review coverage. Local WebGL pixel evidence remains separate. Hardware WebGPU pixels and moving-video Gamma remain unverified. Candidate 0.2.9 is unpublished; merge and the protected manual release are separate steps. Ticket compliance: NOT REQUESTED for this public SDK review. Review LedgerOpen findings
Prior key statuses
Unresolved prior open findings
Deliberate tradeoffs
Refuted
Implausible
Pre-existing
|
Description
Add Gamma and automatic local contrast for inspecting difficult lighting. Adjustments change displayed media pixels while source pixels and annotation colors stay intact.
{}) restore the unadjusted display.Type of Change
Validation
{}after nondefault Gamma and Auto repaints and leaves only the identity ColorMatrix filter; manual contrast restoration remains covered.79fd2f2) passed.8f05e38) passed.Notes For Reviewers
The fields are optional additions to the public display-adjustment API. Auto applies only to still images. Histograms use an image sample bounded to 1024px and remain anchored to the image during pan and zoom.
The WebGL checks used the locally built candidate. WebGPU declarations and actual queue-upload descriptors were checked; hardware WebGPU pixels and moving-video Gamma were not exercised. Production bytes are unchanged by the version preparation and reset-test extension.
This PR prepares candidate
0.2.9under the 0.x patch-release policy, including matching package metadata and public install instructions. Consumers need a published release; merging this PR does not publish0.2.9.