Currently, edge IDs are sorted by the tuple (target_gid, source_gid). Which means that a consecutive range of target GIDs has a consecutive range of edge IDs.
This is an interesting trade off to consider; since neurodamus generally reads by target_gid, I think it works well for the 'expensive' case.
IIRC, in the original paper, some effort was done to see if different layouts were tried, but I don't think a space filling curve was used:
https://journals.plos.org/ploscompbiol/article/file?id=10.1371/journal.pcbi.1007696&type=printable (see pg 19)
From JIRA, by @1uc:
Response by @mgeplf: