Board: add a partisan-lean lens
Fourth lens on the Board, coloring each county by the D/R balance of the state + federal representatives who cover it — the offices that are actually partisan (99% D/R coverage vs ~0% for nonpartisan local seats). Pipeline (build_viz.py): - Carry each district rep's party alongside their name through the county<->district edge mapping. - Per county, tally reps by party over districts covering >=5% of its area (slivers excluded), and store lean = (R-D)/(R+D) in [-1,+1] plus repD/repR counts. Head-count, not area-weighted, so the number matches the readout and isn't skewed toward large rural districts. 3130/3131 counties resolve. Board (board.html): - "Partisan lean" lens with a diverging blue<->grey<->red ramp (centered at 0, skipped in the percentile-rank machinery the other lenses use). - Diverging legend (More Democratic / More Republican). - Readout gains a Representation row (e.g. "8 D · 3 R D+45"). - Drill-down district reps get a D/R party badge. Verified in preview: no console errors; Manhattan -1.0 (21D/0R), LA -0.46, Palm Beach even (3D/3R), Loving TX +1.0; readout, color, and badges agree. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+26
-6
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user