Calibration Blocks - supervisor Java/MyBlocks setup

Requires FTC SDK 12 or later and its existing OpenCV dependencies.
A supervisor must review and install these Java/MyBlocks sources and assets
before students import the .blk files. This is not an APK or a full SDK.
Extract at the Android Studio Robot Controller project root. Back up
the existing source first; review files that replace existing classes.
Build the app and confirm CalibrationBlocksSupport exports are listed.
Confirm the installed app lists the required MyBlocks methods before import.

Hardware: intake_motor on Expansion Hub module 2 MOTOR0; four drive
motors named front_left_drive, front_right_drive, back_left_drive,
back_right_drive; pinpoint and limelight for the round-trip lesson.
Round trip uses the fixed 2-inch 30-33 practice cluster and supplied
640x480 default-camera calibration. Enable corner publishing in the
matching fiducial pipeline 0 only after backing up its settings.
Do not upload the practice geometry as a global field map. Do not use
this profile with 3.25-inch regulation tags or an uncalibrated camera.

Both Blocks programs are disabled by default. Import through the
Control Hub Blocks editor. After supervisor dependency/wiring/STOP checks,
explicitly enable only the chosen program for a supervised trial.
Import/enable is not START. Keep INIT outputs zero.

Intake: R3/remapped paddle toggles +25%, DOWN holds -25%, reverse release
leaves OFF; B/Start stop. No color rejection, counting or jam protection.
Round trip: default 36 inches, 10% power, held LEFT BUMPER and >=5 distinct
valid cluster frames per rolling second. Ranges are INIT display only;
there are no automatic range/stall/timeout/disagreement motion guards.
Camera travel is comparison only; Pinpoint controls distance stops.
0.8-second settle; STOP before completion must not append a completed run.
Results: /sdcard/FIRST/calibration_results.jsonl. Compare recorded distances
with a tape reference and use signed residual at the return origin.
