Specify Ruby version in Gemfile.
Reduce size of network graphs and ensure nodes stay within bounds.
Add a performance requirement spec.
Add method to return an array of chapter numbers.
Halve the time to generate nodes.

For Chapter 1, reduces time from 0.002 s to 0.001 s.
Permit isolated nodes (persons who never share a page with anyone else).
Tighten time requirement.
Reduce random bouncing movement of nodes in network.

Seed chart with initial positions and run the layout algorithm a few hundred iterations before beginning rendering.
Add data for Chapter 21.

Change Che Zhou's allegiance to Wei. Split Wu Shi and Wu Zilan into separate characters as in the novel (although kongming.net has them as the same person).
Correct the blurb.
Change calculation of primary faction for coappearance graphs.

Compute each character's primary faction using only on the page numbers they actually appear on.
Don't double count factions.

A person can be affiliated with the same faction on multiple different occasions as they defect back and forth. However, at least for now, we will merge each instance into a single listing per faction for display purposes.
News blurb.
Remove extraneous g elements, simplify tick code.

Speeds up animations in Firefox, which gradually slows down and in some cases hangs before convergence on complex networks (see https://bugzilla.mozilla.org/show_bug.cgi?id=791699).
Disable animation in Firefox.

Until Firefox is fixed, non-trivial SVG animations will cause it to slow down and potentially hang. https://bugzilla.mozilla.org/show_bug.cgi?id=791699
Don't show characters with low kill counts in combatants chart.

Hide chart until data loaded. Expand accordion by default.