ndmf icon indicating copy to clipboard operation
ndmf copied to clipboard

Feature Request: API to obtain Proxy object in NDMF Preview

Open kxn4t opened this issue 5 months ago • 1 comments

Currently, there is an API (GetOriginalObjectForProxy) that allows us to retrieve the original object from a Proxy object. However, there is no API that does the reverse—that is, obtaining the Proxy object corresponding to an original.

We would like an API to get the Proxy object for use cases such as analyzing the results of optimization tools (e.g., AAO, TTT, Meshia). These tools produce optimized versions of objects that can be previewed. By programmatically retrieving these Proxy objects, we would be able to compare them to the originals and quantify the differences for display in the UI or for other analysis.

kxn4t avatar Jul 10 '25 18:07 kxn4t

In the general case, preview systems are not guaranteed to provide the same meshes and other artifacts that they would in a real avatar build. For example, Shape Changer never actually deletes polygons in preview mode, because that's a much more expensive operation than simply replacing the polygons in the index array with degenerate entries. As such, relying on the proxy objects to generate statistics could provide very misleading results.

I'm a little hesitant to provide an API which can provide such misleading results, particularly if it would tend to burden preview system authors with the need to provide build-equivalent artifacts... however, I do recognize the desire here. I'm just not sure it's compatible with the current NDMF/MA architecture, without performing a relatively expensive full build.

bdunderscore avatar Aug 02 '25 21:08 bdunderscore