cases to foresee: 0. starting the road, previous dot has one connection 1. starting the road, previous dot has >1 connections > crossroad 2. along the road, current dot has two connections 3. along the road, current dot has >2 connections > crossroad 4. end of the road, current dot has one connection 5. end of the road, current dot has >1 connections > crossroad

implementation

Isle::collect_oriented_segments(Road* r)

A B C o ----> o ----> o ^ | | D

[f] [f] [b] [b] [f] AB > BC > CB > BA > AB

[f] [b] [f] [f] [b] [b] [f] AB > BD > DB > BC > CB > BA > AB


A B C o ----> o ----> o | | v D

[f] [f] [b] [f] [b] [b] [f] AB > BD > DB > BC > CB > BA > AB

cases [2,5] can happens simultaneously


A B C o ----> o ----> o

       |
       |
       v
       D

[f] [f] [b] [f] [b] [b] [f] AB > BD > DB > BC > CB > BA > AB

cases [2,5] can happens simultaneously

online identity ∋ [ social ∋ [mastodon♥, twitter®, facebook®, diaspora, linkedin®] ∥ repos ∋ [github®, gitlab♥, bitbucket®, sourceforge] ∥ media ∋ [itch.io®, vimeo®, peertube♥, twitch.tv®, tumblr®] ∥ communities ∋ [godotengine♥, openprocessing, stackoverflow, threejs]]