Three napkin usability issues - improvement requests


#1

Heya Fellas!

I have a few small issues with Napkin I’d like to highlight (0.3.0):

  • In the Scene or Resources view, if the view is filtered by a string term, and then the “filter…” field is cleared, the current selection is cleared. I might want to look for a particular component by name, then select the entity containing it, and press “x,” hoping to see all the other children of that entity. Selection preservation would be handy.

  • If a component has a vector of embedded resourced as a member, Napkin displays the names in a confusing manner. For instance, my component has a member “Videos” which is of type std::vector<ResourcePtr>. Napkin will display an item in the treeview “Videos” and then each element will also be named “Videos,” which is very confusing. I would expect the elements to be labelled either as “Videos[0], Videos[1]…” or simply “0,” “1,” …

  • Making changes to Napkin is slower than I would expect. In the example above, removing a single element from that vector takes approximately 15 seconds on my admittedly older processor.

Thanks guys!


#2

Hey Neil, Welcome to the forum!

Looping in @bas, as he’s actively working on Napkin

In the Scene or Resources view, if the view is filtered by a string term, and then the “filter…” field is cleared, the current selection is cleared. I might want to look for a particular component by name, then select the entity containing it, and press “x,” hoping to see all the other children of that entity. Selection preservation would be handy.

I will make a ticket for this, indeed not desirable.

If a component has a vector of embedded resourced as a member, Napkin displays the names in a confusing manner. For instance, my component has a member “Videos” which is of type std::vector. Napkin will display an item in the treeview “Videos” and then each element will also be named “Videos,” which is very confusing. I would expect the elements to be labelled either as “Videos[0], Videos[1]…” or simply “0,” “1,” …

Ran into the same visibility issue. This shouldn’t be hard to fix.

Making changes to Napkin is slower than I would expect. In the example above, removing a single element from that vector takes approximately 15 seconds on my admittedly older processor.

This makes me assume you are using the debug build of napkin, which is an order of magnitude slower than the release build (approx 100 times). This also applies to NAP applications, but more so for Napkin. Debug symbols are also included for release builds of NAP applications and can be used to debug your session. We currently ship 2 versions of napkin when compiling a package from source, the debug and release build. Might be worth packaging and using only the release version in the future.

I also know @bas is working on a faster implementation of the napkin data model, which is scheduled for release with a new nap version but has to be properly tested. In the meantime, working with a release version of Napkin will save you a lot of time. When I work on large projects using Napkin I always modify the json using a release build of Napkin and only switch to debug only when required.

Cheers Coen