Page actions
instrument mechanism / verified-clean
Panorama Stitching Field-of-View Planner mechanism
The inspectable method record for Panorama Stitching Field-of-View Planner, kept separate from implementation and qualification.
Model scope
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.
- 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.
Units and conventions
- 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.
Inspectable vector
One of 4 source-bound review vectors:
{
"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"
}Failure boundary
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.
Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche5/tranche5-results.jsonBOUNDARY_HAZARD_CATALOG.json