ynput / OpenPype

OpenPype has been surpassed by AYON and is now read only.
https://ayon.ynput.io
MIT License
287 stars 129 forks source link

Bug: 3ds Max loose value types on instances #5204

Open iLLiCiTiT opened 1 year ago

iLLiCiTiT commented 1 year ago

Is there an existing issue for this?

Current Behavior:

Instance data stored in 3ds Max loose their type -> potentially a value. That is because it is storing each key, value pair without information about the type. It works for string, list, dictionary but does not work for integer, float, or null (None).

This issue is probably not causing any major harm, but sometimes a value can be None and in that case null string is stored.

One of PRs that is handling boolean in some way: https://github.com/ynput/OpenPype/pull/5202 .

Expected Behavior:

Because it looks like max can store only strings (don't know the implementation background), the unknown value could be stored with similar prefix like JSON:: -> BOOL::, INT::, FLOAT::, and e.g. NULL::VALUE for None.

Version

3.15.12-nightly.1

What platform you are running OpenPype on?

Windows

Steps To Reproduce:

There are not any steps to reproduce.

Are there any labels you wish to add?

Relevant log output:

No response

Additional context:

No response

[cuID:OP-6273]

BigRoy commented 1 year ago

What if instead of storing strings we always for all data to be stored into a single json string instead of a json only for specific keys?

iLLiCiTiT commented 1 year ago

That would be my assumption at first place. I expected that if it's stored this way it had a reason, but that would be better in my point of view. @antirotor thoughts?