Page actions
instrument / verified-clean
Panorama Stitching Field-of-View Planner
The current ledger marks this instrument verified clean within the source-bound verification corpus.
Inspectable records
Ledger state
The current ledger marks this instrument verified clean within the source-bound verification corpus.
- Area
- Audio, Music, Photography & Color
- Tranche
- tranche-5
- Evidence ID
- t5-067
- Ledger rows
- 1
No ledger note is attached.
Review findings
The instrument cannot honestly be labeled as correct in its current form. Replace the frame formula with max(1, ceil((totalFOV - lensFOV) / (lensFOV * (1 - overlapPercentage / 100))) + 1), define the angular-step output, validate lensFOV > 0, enforce 0 <= overlapPercentage < 100, and explicitly specify a common angular unit.
Formula and scope findings
- The frame-count formula is incorrect for a target total FOV. Coverage with N frames is lensFOV + (N - 1) * angularStep, so the standard formula is max(1, ceil((totalFOV - lensFOV) / angularStep) + 1), where angularStep = lensFOV * (1 - overlapFraction). The supplied formula ceil(totalFOV / angularStep) + 1 overcounts frames.
- The overlap percentage must be converted to a fraction before use: overlapFraction = overlapPercentage / 100.
- The output angular step per frame is claimed but no formula is provided; it should be angularStep = lensFOV * (1 - overlapFraction).
- The formula does not define behavior when the target FOV is less than or equal to one lens FOV; the planner should return one frame, not fewer or extra frames.
Unit assumptions
- lensFOV and totalFOV must use the same angular unit, such as both degrees or both radians.
- overlap is interpreted as a percentage from 0 to 100 and converted by dividing by 100.
- The target total FOV is the covered angular width from the first frame's start to the last frame's end.
- Angular step is the rotation between adjacent frame centers or equivalent adjacent-frame starts under the simplified FOV model; real panorama stitching may require additional margin for lens distortion and parallax.
Boundary hardening
BREAK_CLAIMED · SELF_FLAGGED
A 100% overlap input makes the effective angular-step denominator zero and produces a non-finite frame count in JavaScript. Treating the percentage value 20 as a raw fraction also produces a negative angular step and an invalid frame count.
Errata and corrections
No applied erratum is attached to this unique-name record.
Inspectable example
4 review vectors are recorded. One source-bound sample is shown below.
{
"inputs": {
"lensFOV": 60,
"totalFOV": 180,
"overlapPercentage": 25,
"angleUnit": "degrees"
},
"expected_outputs": {
"framesNeeded": 4,
"angularStep": 45
},
"working": "overlapFraction = 25 / 100 = 0.25\nangularStep = 60 * (1 - 0.25) = 60 * 0.75 = 45 degrees\nadditional coverage needed = 180 - 60 = 120 degrees\nadditional frame intervals = 120 / 45 = 2.666666...\nceil(2.666666...) = 3 intervals\nframesNeeded = 3 + 1 = 4"
}Related workflows
No source-defined multi-instrument workflow membership is recorded.
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.json · VERIFIED_CLEANevidence-tranche5/tranche5-results.jsonBOUNDARY_HAZARD_CATALOG.json