Jansen two-leg A2 overlay simulator pack
=========================================

Recreates: jansen_two_legs_A2gears_overlay_broken.gif

Layout
------
jansen_kinematics_sim_a2_overlay.py  <- RUN THIS (two-leg overlay, broken-bar ghost)
jansen_kinematics_sim_a2.py          <- single-leg A2 sim module (imported by the overlay)
dxf_utils.py, jansen_linkage.py      <- helpers
A2_scaled_M5/                        <- the A2 part outlines the sim draws from
                                        (incl. ring/pinion gears MATCHED to the A2 bar)
handoff_ref/                         <- full-scale handoff DXFs, used ONLY as a hole
                                        role reference for matching (not drawn)

Run
---
Requires Python 3.10+ with numpy, matplotlib, pillow:
    pip install numpy matplotlib pillow

Then:
    python3 jansen_kinematics_sim_a2_overlay.py

Output (written next to the script):
    jansen_two_legs_A2gears_overlay_broken.gif   (61 frames)

What it shows
-------------
Solid = intact Final_gear_1 bar; dark segmented ghost = the same bar broken
into its 3 production pieces (breaks at x = -75.0 / +285.2, 6 mm gaps).
Ghost legs run with a 50% phase shift (+180 deg crank) relative to the solid
legs.  Gear train per the agreed layout: ONE central 12T pinion at the bar's
center hole, each leg with its own 24T ring (ring = crank disc, 2:1, pinion
spins -2x crank).  Each leg pairs with the ring on its own side and extends
outward.  Units are mm, A2 (10/11) scale.

Note
----
The B pivots in this layout do not land on existing bar holes - the physical
bar would need new B holes or per-leg frame plates (deferred decision).
