Page 1 of 1

UI-design of additional features

Posted: 13 Dec 2020, 14:19
by unelsson
There are several features that could be added to OpenMW-CS, but how should these be incorporated into the UI?

1) Object painting -> Suggestion: Instance editing subclass (move, rotate, scale + object paint)
2) Fixing cell edges -> Suggesting: Terrain height editing, any tool, right click close to the cell edge opens up a menu with "fix cell edge" and "set cell edge to ocean bottom" and when clicked, auto-repair that particular edge or set to default ocean bottom level and then apply auto-limiting to prevent data corruption when saving.
3) Scale tool -> Suggestion -> A separate window/widget for the whole logic. I think it's rare and complex enough that a separate widget for the whole logic is the best option.

Youtube-demo of object painting https://www.youtube.com/watch?v=HAjlzdYmtyI
Closed PR of land scaling tool https://github.com/OpenMW/openmw/pull/2196
Closed PR of cell edge fixer tool https://github.com/OpenMW/openmw/pull/2195

Re: UI-design of additional features

Posted: 14 Dec 2020, 07:38
by akortunov
IMO, it is too early to add advanced features to the editor - it still lacks many basic functions, so it is not ready to be used to create complex mods.

Re: UI-design of additional features

Posted: 14 Dec 2020, 10:50
by unelsson
akortunov wrote: 14 Dec 2020, 07:38 IMO, it is too early to add advanced features to the editor - it still lacks many basic functions, so it is not ready to be used to create complex mods.
Hmm. I've been creating these tools in the order that I've needed them. I've noticed that at least the cell edge fixing a really important feature, as whenever land is changed at the edge of defined cells or new land is created, the cell edge always breaks. Without this tool it's impossible to create any land at the edge of the known world. There are tricks for this when modding Morrowind, but setting cell edges to ocean bottom level or just fixing cell edge errors is very useful feature.

For the rest of the extra features (object painting, scaling, procedural generation), these are somewhat advanced features, but the latter two are fairly complete after all. They don't need to be merged, but they are already implemented anyway, even if the code isn't yet cleaned and tested extensively, and UI design is incomplete.

But I'd like to also know what are the missing basic functions that everyone keeps speaking of. I know that vertex painting isn't implemented, but what else? The rest that I'm aware of are mostly quality of life improvements, but I haven't done that much modding, so maybe I'm missing something.

Re: UI-design of additional features

Posted: 14 Dec 2020, 11:10
by akortunov
unelsson wrote: 14 Dec 2020, 10:50 But I'd like to also know what are the missing basic functions that everyone keeps speaking of.
25 features and 15 bugs with the 1.0-CS label (many of them were created somewhere in 2013-2016), and they even do not take in account UX issues.
Most important issues are lack of proper dialogue editing, incomplete cell editing and two huge tables (first for objects, second for instances) instead of proper navigation menu and "find instances" button for object record.

Re: UI-design of additional features

Posted: 14 Dec 2020, 12:17
by unelsson
akortunov wrote: 14 Dec 2020, 11:1025 features and 15 bugs with the 1.0-CS label (many of them were created somewhere in 2013-2016), and they even do not take in account UX issues.
Most of these are preferences, feature requests, and bugs are fairly context-related or non-bugs. The issue list definitely needs some work, I'll try to give my five cents to that asap.
akortunov wrote: 14 Dec 2020, 11:10Most important issues are lack of proper dialogue editing, incomplete cell editing and two huge tables (first for objects, second for instances) instead of proper navigation menu and "find instances" button for object record.
Perhaps the most important issues should be listed, and the features planned further (e.g. what is "proper dialogue editing", what is "proper navigation menu", and why "find instances" button is required, what it should do exactly). Incomplete cell editing -> what exactly is missing, e.g. there are issues like Extended selection of all instances with the same Object ID only selects instances in the same cells https://gitlab.com/OpenMW/openmw/-/issues/3333 , but that, and many others, are IMHO less important than fixing cell edges. These are of course somewhat personal preferences, and I don't object fixing minor bugs either, but I feel like they shouldn't stop development in other directions.

Re: UI-design of additional features

Posted: 14 Dec 2020, 13:23
by lysol
Did SpaceCowboy ever share any of his thoughts regarding UI stuff before he left?

Re: UI-design of additional features

Posted: 14 Dec 2020, 19:47
by Lamoot
Can't offer any design proposals right now, but the first step would be to organize what feature goes where. Object painting is a natural fit for the 3d view, either under instance editing, or a separate instance painting mode.

The scale tool on the other hand could fit with the proposal to make region map central to managing cells https://gitlab.com/OpenMW/openmw/-/issues/5426 From the description of the cell scaling I can easily imagine the ranges being selected and applied on the 2d grid.

For fixing cell edges, the initial question is how the user knows when the edges need fixing. Does the editor offer this information through some sort of cell-border check or is it discovered visually when viewing the cells in the 3d window?