fix(graph): prioritize expanded stack membership over collapsed stack logic
When expanding a collapsed stack, edges were incorrectly still rendered as
dotted because revisions could match two overlapping conditions:
- Part of an expanded stack (should take priority)
- Top of a collapsed nested stack (was incorrectly winning)
The fix checks expanded stack membership first, then applies collapsed stack
logic only if the revision is not in an expanded stack. This ensures edges
within expanded stacks render as solid lines.