Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[EPIC] UI design of Lane connector tool for new features. #1479

Closed
6 tasks done
kianzarrin opened this issue Mar 21, 2022 · 13 comments
Closed
6 tasks done

[EPIC] UI design of Lane connector tool for new features. #1479

kianzarrin opened this issue Mar 21, 2022 · 13 comments
Assignees
Labels
discussion Contains debate on certain topics EPIC Collation of related issues feature A new distinct feature LANE ROUTING Feature: Lane arrows / connectors UI User interface updates

Comments

@kianzarrin
Copy link
Collaborator

kianzarrin commented Mar 21, 2022

The UI design for issues above can influence/conflict one another. So I created this issues to discuss solutions.

summary:
1- Hotkeys (#1479 (comment) will be adopted for hotkeys/modifiers. thought we might need a new one for creating dead ends.)
2- how should lane connections differentiate between
- making new connection VS removing older connection (#1485)
- unidirectional VS bidirectional
- dead ends (#1213) : use :X: icon
3- how should we differentiate between car/track/mixed lanes:
- for tracked vehicles we can use 🔺 🔻 🔶 to indicate the direction of the lane (it tells us if the lane is bidirectional, it does not tell us if the lane connection is bidirectional).
- for car lanes we can just use 🟠 because they are always uni-directional anyways.
- for mixed lane we can put 🔺 over 🟠 to create a pointy circle image

Problems:

Bidirectional lane connections:

  • If we use arrow heads ↔️ to show the direction of the lanes there is two problems:
    • if a lane lane multiple connections then the arrow heads can overlap each other.
    • also the arrow heads can overlap with the lane end icons 🔺 🔻 🔶
    • if we use ❌ for set dead ends for lanes using lane connector #1213 then it can overlap with the lane end symbols above
  • @aubergine10 suggested to use dashed line for bi-directional:
    • if we use dashed line then it might conflict with when we want to remove lane connection if we decide to use dashed line for that too.
    • Also using solid line for uni-directional and dashed line for bi-directional does not seem logical. bidirectional has more connections why should we make it dashed? if anything it should be thickened.
@kianzarrin kianzarrin added feature A new distinct feature triage Awaiting issue categorisation labels Mar 21, 2022
@originalfoo originalfoo added EPIC Collation of related issues LANE ROUTING Feature: Lane arrows / connectors labels Mar 21, 2022
@kianzarrin kianzarrin changed the title more advanced Lane connector tool Lane connector tool needs to support new features. Mar 21, 2022
@kianzarrin
Copy link
Collaborator Author

How about this modifier key configuration?

  • click: both car/tram/..., bidirectional if possible
  • Control+click: unidirectional
  • Alt+key: cars only
  • shift+click: tram only

@kianzarrin
Copy link
Collaborator Author

kianzarrin commented Mar 21, 2022

shift usually means multiple things are selected so maybe we can do it like this:

this also helps to reduce number of modifier keys we use and the shift modifier key makes more sense now.

The downside with this is that I think by default we should make bi-directional lane connections on bi-directional lanes so that more novice users will not get confused.

@kianzarrin
Copy link
Collaborator Author

@aubergine10 what do you think we should do with modifier key assignments?

@originalfoo
Copy link
Member

The downside with this is that I think by default we should make bi-directional lane connections on bi-directional lanes so that more novice users will not get confused.

Users - both new and existing - will need to learn new stuff whichever way it works. As long as the UI (tracked via #1214) makes it clear what's going on, there shouldn't be too much of a problem.

IMO having one-directional by default makes more sense than bidirectional; we're routing from lane A to lane B, and additionaly the vast majority of lanes are one-way.

The visualisation should clearly indicate:

  • Default lane routings in cases where user hasn't specified custom lane routing (feint/thin dotted white lines?)
  • Which lanes are bidirectional (could we overlay a double-ended arrow ↔ on the lane?)
  • The direction of a lane connector (pointed triangle at ends? only show where applicable to declutter UI?)

@originalfoo
Copy link
Member

As for modifier keys, this approach is best IMO: #1479 (comment)

@kianzarrin kianzarrin changed the title Lane connector tool needs to support new features. Lane connector tool needs to provide UI support new features. Mar 22, 2022
@kianzarrin kianzarrin added discussion Contains debate on certain topics UI User interface updates and removed EPIC Collation of related issues triage Awaiting issue categorisation labels Mar 22, 2022
@kianzarrin kianzarrin self-assigned this Mar 22, 2022
@kianzarrin
Copy link
Collaborator Author

@aubergine10 @kvakvs @chameleon-tbn I updated the issue. We need some brainstorming here!

@originalfoo
Copy link
Member

for car lanes we can just use 🟠 because they are always uni-directional anyways

Are you sure car lanes are always unidirectional? I'm pretty sure some NExt roads that have central "turning lanes" were bidirectional lanes.

  • @aubergine10 suggested to use dashed line for bi-directional:
    • if we use dashed line then it might conflict with when we want to remove lane connection if we decide to use dashed line for that too.
    • Also using solid line for uni-directional and dashed line for bi-directional does not seem logical. bidirectional has more connections why should we make it dashed? if anything it should be thickened.

Yeah, this needs more thought either way. Still pondering that and the other stuff in OP.

@originalfoo
Copy link
Member

Random idea: When an incoming lane is selected, fade (reduce opacity of) connection lines from other lanes so connections from the selected lane are more obvious in comparison to them?

@kianzarrin kianzarrin changed the title Lane connector tool needs to provide UI support new features. Lane connector tool needs to provide UI support for new features. Mar 22, 2022
@kianzarrin kianzarrin changed the title Lane connector tool needs to provide UI support for new features. UI design of Lane connector tool for new features. Mar 22, 2022
@kianzarrin
Copy link
Collaborator Author

kianzarrin commented Mar 22, 2022

Random idea: When an incoming lane is selected, fade (reduce opacity of) connection lines from other lanes so connections from the selected lane are more obvious in comparison to them?

don't we already make such lane connections thicker and on the top? I remember I took care of that : #635 (review)
top

@kvakvs
Copy link
Collaborator

kvakvs commented Mar 23, 2022

For this i had some ideas, could probably sit down with a pen tablet and draw a little.
Things like arrows on connectors, they don't have to be drawn on connector ends. Place arrows on 1/2 of connector lenghts or 1/3 so they don't clump all on the end point. This is how graphing software does it when many arrows arrive to the same end point.

I personally can't remember where we ever had a dual-direction lane. Any good example?

@originalfoo
Copy link
Member

I personally can't remember where we ever had a dual-direction lane. Any good example?

Bi-directional train tracks are somewhat common, and there's also some 'turning lanes' on roads that are bidirectional.

Prior implementation of lane connectors were always bi-directional. However, that caused limitations in cases where a uni-directional connector was required, so Kian change to using unidirectional connectors. But that now causes the issue of how to indicate to users a) which lanes are bidirectional and b) which connectors are bidirectional (where applicable).

@kianzarrin kianzarrin changed the title UI design of Lane connector tool for new features. [EPIC] UI design of Lane connector tool for new features. Apr 2, 2022
@kianzarrin kianzarrin added the EPIC Collation of related issues label Apr 2, 2022
@kianzarrin
Copy link
Collaborator Author

cool only dead end is remaining

@kianzarrin
Copy link
Collaborator Author

kianzarrin commented Sep 30, 2022

All required tasks are completed.
there are a few optional tasks to improve aesthetics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Contains debate on certain topics EPIC Collation of related issues feature A new distinct feature LANE ROUTING Feature: Lane arrows / connectors UI User interface updates
Projects
None yet
Development

No branches or pull requests

3 participants