to-boldly-go / tbg-shipdesigner

Ship designer webapp for To Boldly Go
2 stars 2 forks source link

Design validations #27

Open vebyast opened 7 years ago

vebyast commented 7 years ago

Need to both detect and display each of these. Probably turning various numbers red?

Note that entering invalid inputs must remain possible; people work in the corners of the permissible region constant go over the boundary all the time. Rejecting invalid inputs during editing would be a PITA. Instead, just detect and mark them.

Tooltips would be an excellent idea here.

nixanten commented 7 years ago
nixanten commented 7 years ago

Also validation for part availability in design year should be optional and/or soft because there are also designs for other powers that can have different part availability and making an explicit custom part list for that case may be too much work.

vebyast commented 7 years ago

tech based internal weight limits for frigates and cruisers

That'd be things like the [T2] 2,100kt Cruiser Design item? Is there a list of those compiled anywhere?

Also validation for part availability in design year should be optional and/or soft

Currently the plan is to have exactly zero hard validations. As a concrete use case, users need to be able to share designs that don't work so that they can collaborate on fixing them.

nixanten commented 7 years ago

That'd be things like the [T2] 2,100kt Cruiser Design item? Is there a list of those compiled somewhere?

Not outside the research megapost. Uncertainty about how exactly those were supposed to work in combination with the principal frames was one of the reasons we didn't research them before now, but given that the projects are still there they seem to actually be supposed to impose an extra limit, and we have treated them as doing such during the Kepler design.

Currently the plan is to have exactly zero hard validations. As a concrete use case, users need to be able to share designs that don't work so that they can collaborate on fixing them.

I mean that it needs to be easy to distinguish a design with many parts failing validation for availability but zero other issues from a design with part availability failing validation and one other issue.

vebyast commented 7 years ago

I mean that it needs to be easy to distinguish a design with many parts failing validation for availability but zero other issues from a design with part availability failing and one other issue.

Ah, yes. I'm going to be putting a lot of effort into designing how to show validations to avoid issues like this. Just turning the entire sheet red is kind of useless; I have to show where the errors are.

In this specific case, I think that "this part is not available in this year" will be one of the least visible validations - I'm thinking that it'd just be affected cells in the "year available" column turning a bit yellow. Other validations would show up in other places in the app and would be much more visible. For example, power or weights not lining up are going to be affected cells turning red.

I'm considering, in addition to the cells and the tooltips, a display for long-form error messages with feedback, kind of like what you'd get out of any compiler.

vebyast commented 7 years ago

Other things from SWB:

Warnings: