{"action":"created","issue":{"url":"https://api.github.com/repos/diagrams/diagrams-lib/issues/250","labels_url":"https://api.github.com/repos/diagrams/diagrams-lib/issues/250/labels{/name}","comments_url":"https://api.github.com/repos/diagrams/diagrams-lib/issues/250/comments","events_url":"https://api.github.com/repos/diagrams/diagrams-lib/issues/250/events","html_url":"https://github.com/diagrams/diagrams-lib/issues/250","id":73473304,"number":250,"title":"The semantics of `alignBL` and `snugBL` may not be what we want.","user":{"login":"jeffreyrosenbluth","id":1226936,"avatar_url":"https://avatars.githubusercontent.com/u/1226936?v=3","gravatar_id":"","url":"https://api.github.com/users/jeffreyrosenbluth","html_url":"https://github.com/jeffreyrosenbluth","followers_url":"https://api.github.com/users/jeffreyrosenbluth/followers","following_url":"https://api.github.com/users/jeffreyrosenbluth/following{/other_user}","gists_url":"https://api.github.com/users/jeffreyrosenbluth/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffreyrosenbluth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffreyrosenbluth/subscriptions","organizations_url":"https://api.github.com/users/jeffreyrosenbluth/orgs","repos_url":"https://api.github.com/users/jeffreyrosenbluth/repos","events_url":"https://api.github.com/users/jeffreyrosenbluth/events{/privacy}","received_events_url":"https://api.github.com/users/jeffreyrosenbluth/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-05-06T00:32:08Z","updated_at":"2015-05-06T13:55:32Z","closed_at":null,"body":"`snugBL = snugB . snugL`, Unfortunately `snugB` and `snugL` do not commute so their\r\nbehavior is different, i.e `snugBL /= snugL. snugB`. This can lead to results that may not be \r\nintuitive (or useful) to users.\r\n\r\n`snugBL`\r\n![snugbl](https://cloud.githubusercontent.com/assets/1226936/7485467/31d4684e-f364-11e4-80d0-631fda1229c6.png)\r\n`snugB . snugL`\r\n![snuglb](https://cloud.githubusercontent.com/assets/1226936/7485482/6b717b96-f364-11e4-9948-5365f120ee3a.png)\r\n\r\nAt least `alignB` and `alignL` commute, but still it seems strange that `alignBL` puts the origin outside of\r\nthe hexagon. Whereas if we align in the (-1,-1) direction we end up on the hexagon.\r\n`align ((-1) ^& (-1))`\r\n![align11](https://cloud.githubusercontent.com/assets/1226936/7485438/e19e8530-f363-11e4-87ee-df07d4ef7fc6.png)\r\n`alignBL`\r\n![alignbl](https://cloud.githubusercontent.com/assets/1226936/7485459/13a2b5c4-f364-11e4-898c-c9617083d078.png)\r\n\r\nOne possible solution is to redefine both `alignBL` and `snugBL` as `align ((-1) ^& (-1))` ...\r\n\r\nthoughts?\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/diagrams/diagrams-lib/issues/comments/99471763","html_url":"https://github.com/diagrams/diagrams-lib/issues/250#issuecomment-99471763","issue_url":"https://api.github.com/repos/diagrams/diagrams-lib/issues/250","id":99471763,"user":{"login":"jeffreyrosenbluth","id":1226936,"avatar_url":"https://avatars.githubusercontent.com/u/1226936?v=3","gravatar_id":"","url":"https://api.github.com/users/jeffreyrosenbluth","html_url":"https://github.com/jeffreyrosenbluth","followers_url":"https://api.github.com/users/jeffreyrosenbluth/followers","following_url":"https://api.github.com/users/jeffreyrosenbluth/following{/other_user}","gists_url":"https://api.github.com/users/jeffreyrosenbluth/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffreyrosenbluth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffreyrosenbluth/subscriptions","organizations_url":"https://api.github.com/users/jeffreyrosenbluth/orgs","repos_url":"https://api.github.com/users/jeffreyrosenbluth/repos","events_url":"https://api.github.com/users/jeffreyrosenbluth/events{/privacy}","received_events_url":"https://api.github.com/users/jeffreyrosenbluth/received_events","type":"User","site_admin":false},"created_at":"2015-05-06T13:55:32Z","updated_at":"2015-05-06T13:55:32Z","body":"yes we do have `snug` which takes an arbitrary direction as parameter."}}