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

Priority road UI discussion #691

Closed
kianzarrin opened this issue Feb 11, 2020 · 5 comments
Closed

Priority road UI discussion #691

kianzarrin opened this issue Feb 11, 2020 · 5 comments
Labels
discussion Contains debate on certain topics feature A new distinct feature JUNCTION RESTRICTIONS Feature: Junction restrictions LANE ROUTING Feature: Lane arrows / connectors MASS EDIT The mass edit tool PRIORITY SIGNS Feature: Stop / Yield / Priority signs
Milestone

Comments

@kianzarrin
Copy link
Collaborator

kianzarrin commented Feb 11, 2020

Priority sign tool

alternative priority quick fix.

@aubergine10 Aubergine said that he wants more options between the priority road (priority signs only) and high priority road (#621) that does not toggle crosswalks. see #621 (comment)
I provided alt key modifier here for demo (and to give @aubergine10 something to use until the final solution to the UI question is ready): https://github.com/kianzarrin/Cities-Skylines-Traffic-Manager-President-Edition/tree/AltPriorityRoad

Road selection panel might be useful for this #542 (comment) maybe one more button? maybe a settings button that opens a small in game panel to choose what traffic rules to apply?

undo/clear priority sings tool

While the priority sings tool is selected, we have know way of undoing what CTRL[+SHIFT]+CLICK does. maybe an state machine like we do with stop/yield signs.

side UI panel

we can provide a UI panel for the priority road tool that has all the options:

<PANEL>
 <button> stop/yield signs mode</button>
 <button> medium priority road/rabout mode [ALT+CTRL]</button>
 <button> high priority road/rabout mode [CTRL] </button>
 <button> clear/undo last action</button> // does not have active state
 <button> apply to road mode [shift]</button> // can be active in parallel to other modes.
</Panel>

Clicking on each button will activate that mode. then user can click or shift click on road to apply traffic rules. holding a modifier key will active the relevant mode temporarily. the relevant button will change color for feedback.
There are some similarities with the road selection panel but it doesn't let you to modify road selection. Just a suggestion, we can improve on this idea or discard it.

road selection panel

Screenshot (346)

Clear traffic rules button

What should Clear button in road selection panel do? clear traffic signs? rules set by priority road/roundabout buttons? clear ALL rules? make it customizable somehow
Do we also need a button traffic manger to reset traffic rules?

Currently when you press any of the buttons in the road selection panel once they get activated setting traffic rules, twice and the deactivate clearing all traffic rules related to them. As part of #568 they may even perform a more clever undo/restore than a simple clear.

Modification of road selection

What should happen when the user modifies road selection while one of the buttons are in active mode?
option 1: (current approach) deactivate the button and do nothing.
option 2: apply traffic rules to more junctions when the user expands the selection, undo them when the user shrinks the selection (requires advanced restore/undo #568)

memory of all road selections

Currently vanilla CS keeps a memory of all previous road selections made by road adjust panel. This means you can return to them (selections cannot overlap). Should we take advantage of this?

What should happen when user selects the a road (lets call it road A), applies high priority button. closes the road selection panel and does some stuff in the city (including selecting other roads) then selects road A again:

  • Current approach : Road selection panel has forgot what user selection was for road A. all buttons are inactive
  • Vanilla approach : It does not memorize the state of the priority road toggle. but it works around that: if all incoming roads have stop sign, then the priority toggle is checked. (Note to self: investigate what happens if priority toggle is on and user expands the selection).
  • Advanced approach: . maybe we can hold a dictionary of <selection:priority mode> pairs so when user clicks on a past road selection, the appropriate button will be in active state.
  • more advanced option: if the user builds new junctions on a priority road, then we remember it was set as a priority road in the road selection panel and we apply traffic rules automatically.

other traffic rules:

Should Road selection provide UI for other tools as well like parking/speed limit/clear traffic?

related: #557 #542 #568 EDIT: #587

@kianzarrin kianzarrin added discussion Contains debate on certain topics feature A new distinct feature triage Awaiting issue categorisation labels Feb 11, 2020
@originalfoo
Copy link
Member

originalfoo commented Feb 11, 2020

For clearing priority rules, see #692

EDIT: Specifically, with Eraser tool selected (while Priority tool is selected) we could use the Ctrl+Click and Shift+Ctrl+Click to erase those things.

@originalfoo originalfoo removed the triage Awaiting issue categorisation label Feb 11, 2020
@kvakvs
Copy link
Collaborator

kvakvs commented Feb 12, 2020

@kianzarrin Can you rephrase the beginning of the ticket, stating what is being discussed, why, and where you want to get? I tried reading the flow or thought and didn't understand where this is going at all.
Are you designing new look for priority signs UI? New window? New panel? New overlay?
Are you solving some problems?
Are you trying to fit multiple features at once? (memory of previous selections, clear)

This is too much for one discussion. Split this or use this as an EPIC ticket and fork into smaller discussions. I'd love to participate :)
Also I believe we had an epic for that tool.

@originalfoo
Copy link
Member

Currently vanilla CS keeps a memory of all previous road selections made by road adjust panel. This means you can return to them (selections cannot overlap). Should we take advantage of this?

Can you explain that a bit more? I wasn't aware that vanilla was keeping track of things like that (or why)...

@kianzarrin
Copy link
Collaborator Author

I agree with you this ticket needs to be broken up into several tickets and maybe a master ticket as a general discussion place.

@kianzarrin
Copy link
Collaborator Author

kianzarrin commented Feb 18, 2020

I am closing this issue because its a mess . I created #711 and #712 instead.
EDIT: also #710

@originalfoo originalfoo added the PRIORITY SIGNS Feature: Stop / Yield / Priority signs label Feb 18, 2020
@originalfoo originalfoo added JUNCTION RESTRICTIONS Feature: Junction restrictions LANE ROUTING Feature: Lane arrows / connectors MASS EDIT The mass edit tool labels Apr 21, 2020
@originalfoo originalfoo added this to the 11.5.0 milestone Apr 21, 2020
@kianzarrin kianzarrin mentioned this issue May 7, 2020
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 feature A new distinct feature JUNCTION RESTRICTIONS Feature: Junction restrictions LANE ROUTING Feature: Lane arrows / connectors MASS EDIT The mass edit tool PRIORITY SIGNS Feature: Stop / Yield / Priority signs
Projects
None yet
Development

No branches or pull requests

3 participants