-
-
Notifications
You must be signed in to change notification settings - Fork 3
D-Log2 highlight zebra at 100 IRE never paints — confirm mapping, then default below ceiling #136
Copy link
Copy link
Open
Labels
P1High priority — important for current cycleHigh priority — important for current cyclearea:androidAndroid / Jetpack Compose workAndroid / Jetpack Compose workarea:coreShared Swift core (Sources/OpenPocketViewCore)Shared Swift core (Sources/OpenPocketViewCore)area:iosiOS SwiftUI shell (ios/OpenPocketCine)iOS SwiftUI shell (ios/OpenPocketCine)area:monitoringMonitoring assists (false color, scopes, zebra, guides, etc.)Monitoring assists (false color, scopes, zebra, guides, etc.)bugSomething isn't workingSomething isn't workingreadyTriaged and ready to pick upTriaged and ready to pick up
Description
Metadata
Metadata
Assignees
Labels
P1High priority — important for current cycleHigh priority — important for current cyclearea:androidAndroid / Jetpack Compose workAndroid / Jetpack Compose workarea:coreShared Swift core (Sources/OpenPocketViewCore)Shared Swift core (Sources/OpenPocketViewCore)area:iosiOS SwiftUI shell (ios/OpenPocketCine)iOS SwiftUI shell (ios/OpenPocketCine)area:monitoringMonitoring assists (false color, scopes, zebra, guides, etc.)Monitoring assists (false color, scopes, zebra, guides, etc.)bugSomething isn't workingSomething isn't workingreadyTriaged and ready to pick upTriaged and ready to pick up
Maintainer observation: default Highlight zebra is 100 IRE. On D-Log2 they never show. Setting 99 starts to paint. Are zebras mapped to the color mode? If the mapping is correct, 100 is the wrong operator default because SoftAP never quite hits the measured ceiling.
What went wrong?
This is not “100 means code 255.” WAVE / zebra / FALSE Maximum share one axis:
LiveColorScience.zebraHighlightismonitorPercent >= threshold(default 100). GPU maps 100 →ScopeDisplayScale.signalNative→ clip byte (~247/255) and paints luma ≥ that code.Tests (
ZebraAssistTests.testHighlightFiresAtLiveTapCeiling) only prove 247/255 → 100 and that grey 30.50 is not a highlight. They do not prove a typical 243–246 highlight paints at default 100.So the operator report matches the model: 100 only fires at/above the measured ceiling. Preview rarely sits on that exact byte, so default 100 looks “off.” 99 is slightly under the shelf and lights.
Already in tree
LiveZebra.highlightIRE == 100,midtoneIRE == 55MonitorTransfer/ScopeExposureCeiling/ScopeDisplayScale.monitorPercentLiveMonitorFx.applyZebraRec.709 luma matrix on encoded log RGB, then compare to clip code. WAVE uses max-channel tap. A hot but tinted pixel can miss Y even if WAVE shows near 100.FeedEffectsWire)Do
scope max=, WAVE 100 line, and zebra at 100 vs 99 vs 95 on the same blast. If WAVE 100 and zebra 100 disagree, fix the GPU compare (encoded luma vs max channel / monitorPercent) — do not only change the default.Out of scope
Keyboard covering the field (separate issue). D-Log M (#84). Redesigning WAVE 0/100 lines.
Done when
Physical Pocket 4 Pro, D-Log2: highlight zebra is visible on a hot sky/practical at the new default, and WAVE 100 still matches the ceiling. Rec.709 still sensible. Both shells.
Verify
Physical D-Log2 + Rec.709.
just check. WAVE + zebra on the same take.