BigRoy / usd-qtpy

Python Qt components for building custom USD tools.
MIT License
57 stars 8 forks source link

Add Property/Attribute Editor #26

Open BigRoy opened 7 months ago

BigRoy commented 7 months ago

It would be great if we could expose a dedicated attribute editor which would allow to display the properties/attributes a of a particular.

USD View exposes a 'view' to the data like this:

image

With special icons and color coding based on this:

image

We might want to stick to similar colors as USD view for familiarity.

However, it'd be great if additional to just displaying properties if we can implement editing functionality for most property types.

This would only really get useful with #25 because it'd need to respond to a Prim getting selected.


UX References

References would be:

image image

image

Sasbom commented 7 months ago

Can we clarify what attributes we want to expose?

Also, some first thoughts:

Also, things like transformation operations live on a stack and aren't always done in the same order for every prim. I was thinking that we might want to expose attributes like this:

Adding transformation operations with like, a button or some menu would be good too.

I think we should avoid exposing something a standard transformation matrix for all prims that are selected, because it'd lead to creation of unnessecary attributes, bloating the file.

There's also the primvars, but these are so highly specific to each primitive that I do not know if we'd want to override them. Animating parameters is also a thing that could be done but way out of

As for "normal transformations" We can start by writing a "transformations" utility library that ingests data and applies them to a prim Xform/Xformable, as suggested here: https://github.com/BigRoy/usd-qtpy/pull/30#discussion_r1413847245

I feel like this is enough of a seperate concern to warrant it's own issue, and I'd be down to work on that too.