Automatic loading of ExportChaser and ImportChaser plugins#4642
Conversation
…xportChaser` or `ImportChaser`. - Refactors the shared plugin discovery/loading logic used by jobContext and shadingMode registries. - Reuses that logic for import and export chasers, triggering chaser plugin loading just before chasers are created.
|
@jufrantz We discussed this PR internally and one comment that came up was if "this PR looking to add the option to make it automatic or not or will it force to automatically load?" Looking quickly at the changes I don't see any option - it is just automatic. Is that correct? If so it was suggested this could be a problem and changing behaviours for other customers then. And could there be an option then? Sean |
|
Hi @seando-adsk, There is no global option, but this PR should not change the behavior of existing plugins. To opt in to this automatic loading, the developer needs to add new metadata ( Therefore, existing plugins, that do not include the new metadata, will not be loaded automatically. Julien |
|
@jufrantz Thanks for the answer. That covers all the concerns we had. I'll get someone assigned for a code review. Sean |
…ugins Automatic loading of `ExportChaser` and `ImportChaser` pluginsis no…both unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> ic for import and export chasers, triggering chaser plugin loading just before chasers are created. o CMakeLists. - Add strengthened LayerTreeView tests (mute/lock button-push, key Delete/R, add-parent, expand-children) and LayerEditorWidget tests (splitter/lazy-update/ save-stage button, GeneratedIconButton paint states). - Add SaveLayersDialog all-as-relative tests and an unguarded EF toggle-button test covering the runtime-gated edit-forwarding setup. - Export GeneratedIconButton (LayerEditorAPI) so its paint paths are testable. UsdLayerEditorNewTests: 438 tests, 437 pass, 1 expected skip. Lib coverage ~70%. TURE----- Merge pull request #4651 from Autodesk/barbalt/dev/EMSUSD-3311-remove-opinion EMSUSD-3311 - Add remove opinion + undoENEITEM_HAS_METADATA is no…both unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> eply@anthropic.com> hropic.com>
782136578 -0400 gpgsig -----BEGIN PGP SIGNATURE----- wsFcBAABCAAQBQJqOT8CCRC1aQ7uu5UhlAAAXSsQAJD+nu5KEYM182GvaoREF2T3 VXGtpZyOxsyDXDmeokiiAGY+vo08ZKnMAtRKoCSB4J5fe95bI5iQG3VXjWG7oSpk mvzWMP7/r/OHpPmW7J0UA2yYOLX+MMvF5KdiuCiHJqqc0G/tpZnswNy4cz52AP6W +PXcGY58HYgwZ50RCSHRrRg9F44zqCfEJt40aqTC48jDtXSL+2O5Dx/ZIV6J12T/ AIyBMzJKp2Omccp/mO7A8H0NCT749XPmFzsUzplWjAG/+Yf19OpaSbGgxksKnBZK SsNh70+PQpM9OVwT4sQkopjrJJzpPG+hA1YpfiahF3ZnO7+k2NqF6/4wIKMuW8rR itMMjK73Lx4Ev4kG8sKEaEY7IvjYyXZqkx9BQCAMC2QhgdRzaI1raR1YUSS7yfhj 20KDoWxj65qZ25RVg0PVlBTTZAjculPoKLHc+ApePQGpeVRRzN8BdXsRrfAy/8oq U1ajtTlclBk3XBkFGQBBuTZjl9nW/MXRVI21l7RMtKFFMzuCBYM4b0bQna+PlKcj V4MEDStii3SwcpxAXXPCj8SJYodYNsXUX1ulmHb/uxehFtTXCn7libbuRnLV3Wtp N+rk7B0BoJDDcnxpjqiGeNX0kbSmfywuyX+BGB+F/zxUeGGgU/snt2AO9sw8mr7g kmByzCDMP5fFwAqaOste =oVJ2 -----END PGP SIGNATURE----- Merge pull request #4642 from jufrantz/automatic_loading_of_chaser_plugins Automatic loading of `ExportChaser` and `ImportChaser` pluginsis no…both unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> opic.com>
ort for the RenderSetup. 782136578 -0400 gpgsig -----BEGIN PGP SIGNATURE----- wsFcBAABCAAQBQJqOT8CCRC1aQ7uu5UhlAAAXSsQAJD+nu5KEYM182GvaoREF2T3 VXGtpZyOxsyDXDmeokiiAGY+vo08ZKnMAtRKoCSB4J5fe95bI5iQG3VXjWG7oSpk mvzWMP7/r/OHpPmW7J0UA2yYOLX+MMvF5KdiuCiHJqqc0G/tpZnswNy4cz52AP6W +PXcGY58HYgwZ50RCSHRrRg9F44zqCfEJt40aqTC48jDtXSL+2O5Dx/ZIV6J12T/ AIyBMzJKp2Omccp/mO7A8H0NCT749XPmFzsUzplWjAG/+Yf19OpaSbGgxksKnBZK SsNh70+PQpM9OVwT4sQkopjrJJzpPG+hA1YpfiahF3ZnO7+k2NqF6/4wIKMuW8rR itMMjK73Lx4Ev4kG8sKEaEY7IvjYyXZqkx9BQCAMC2QhgdRzaI1raR1YUSS7yfhj 20KDoWxj65qZ25RVg0PVlBTTZAjculPoKLHc+ApePQGpeVRRzN8BdXsRrfAy/8oq U1ajtTlclBk3XBkFGQBBuTZjl9nW/MXRVI21l7RMtKFFMzuCBYM4b0bQna+PlKcj V4MEDStii3SwcpxAXXPCj8SJYodYNsXUX1ulmHb/uxehFtTXCn7libbuRnLV3Wtp N+rk7B0BoJDDcnxpjqiGeNX0kbSmfywuyX+BGB+F/zxUeGGgU/snt2AO9sw8mr7g kmByzCDMP5fFwAqaOste =oVJ2 -----END PGP SIGNATURE----- Merge pull request #4642 from jufrantz/automatic_loading_of_chaser_plugins Automatic loading of `ExportChaser` and `ImportChaser` pluginsis no…both unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> opic.com>
BEGIN PGP SIGNATURE----- wsFcBAABCAAQBQJqOT8CCRC1aQ7uu5UhlAAAXSsQAJD+nu5KEYM182GvaoREF2T3 VXGtpZyOxsyDXDmeokiiAGY+vo08ZKnMAtRKoCSB4J5fe95bI5iQG3VXjWG7oSpk mvzWMP7/r/OHpPmW7J0UA2yYOLX+MMvF5KdiuCiHJqqc0G/tpZnswNy4cz52AP6W +PXcGY58HYgwZ50RCSHRrRg9F44zqCfEJt40aqTC48jDtXSL+2O5Dx/ZIV6J12T/ AIyBMzJKp2Omccp/mO7A8H0NCT749XPmFzsUzplWjAG/+Yf19OpaSbGgxksKnBZK SsNh70+PQpM9OVwT4sQkopjrJJzpPG+hA1YpfiahF3ZnO7+k2NqF6/4wIKMuW8rR itMMjK73Lx4Ev4kG8sKEaEY7IvjYyXZqkx9BQCAMC2QhgdRzaI1raR1YUSS7yfhj 20KDoWxj65qZ25RVg0PVlBTTZAjculPoKLHc+ApePQGpeVRRzN8BdXsRrfAy/8oq U1ajtTlclBk3XBkFGQBBuTZjl9nW/MXRVI21l7RMtKFFMzuCBYM4b0bQna+PlKcj V4MEDStii3SwcpxAXXPCj8SJYodYNsXUX1ulmHb/uxehFtTXCn7libbuRnLV3Wtp N+rk7B0BoJDDcnxpjqiGeNX0kbSmfywuyX+BGB+F/zxUeGGgU/snt2AO9sw8mr7g kmByzCDMP5fFwAqaOste =oVJ2 -----END PGP SIGNATURE----- Merge pull request #4642 from jufrantz/automatic_loading_of_chaser_plugins Automatic loading of `ExportChaser` and `ImportChaser` pluginsis no…both unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> opic.com>
Fix cmakes. Fix filenames Fix member names Refactor UndoChunkUtils RE----- wsFcBAABCAAQBQJqOT8CCRC1aQ7uu5UhlAAAXSsQAJD+nu5KEYM182GvaoREF2T3 VXGtpZyOxsyDXDmeokiiAGY+vo08ZKnMAtRKoCSB4J5fe95bI5iQG3VXjWG7oSpk mvzWMP7/r/OHpPmW7J0UA2yYOLX+MMvF5KdiuCiHJqqc0G/tpZnswNy4cz52AP6W +PXcGY58HYgwZ50RCSHRrRg9F44zqCfEJt40aqTC48jDtXSL+2O5Dx/ZIV6J12T/ AIyBMzJKp2Omccp/mO7A8H0NCT749XPmFzsUzplWjAG/+Yf19OpaSbGgxksKnBZK SsNh70+PQpM9OVwT4sQkopjrJJzpPG+hA1YpfiahF3ZnO7+k2NqF6/4wIKMuW8rR itMMjK73Lx4Ev4kG8sKEaEY7IvjYyXZqkx9BQCAMC2QhgdRzaI1raR1YUSS7yfhj 20KDoWxj65qZ25RVg0PVlBTTZAjculPoKLHc+ApePQGpeVRRzN8BdXsRrfAy/8oq U1ajtTlclBk3XBkFGQBBuTZjl9nW/MXRVI21l7RMtKFFMzuCBYM4b0bQna+PlKcj V4MEDStii3SwcpxAXXPCj8SJYodYNsXUX1ulmHb/uxehFtTXCn7libbuRnLV3Wtp N+rk7B0BoJDDcnxpjqiGeNX0kbSmfywuyX+BGB+F/zxUeGGgU/snt2AO9sw8mr7g kmByzCDMP5fFwAqaOste =oVJ2 -----END PGP SIGNATURE----- Merge pull request #4642 from jufrantz/automatic_loading_of_chaser_plugins Automatic loading of `ExportChaser` and `ImportChaser` pluginsis no…both unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> opic.com>
ges : Fix cmakes. Fix filenames Fix member names Refactor UndoChunkUtils RE----- wsFcBAABCAAQBQJqOT8CCRC1aQ7uu5UhlAAAXSsQAJD+nu5KEYM182GvaoREF2T3 VXGtpZyOxsyDXDmeokiiAGY+vo08ZKnMAtRKoCSB4J5fe95bI5iQG3VXjWG7oSpk mvzWMP7/r/OHpPmW7J0UA2yYOLX+MMvF5KdiuCiHJqqc0G/tpZnswNy4cz52AP6W +PXcGY58HYgwZ50RCSHRrRg9F44zqCfEJt40aqTC48jDtXSL+2O5Dx/ZIV6J12T/ AIyBMzJKp2Omccp/mO7A8H0NCT749XPmFzsUzplWjAG/+Yf19OpaSbGgxksKnBZK SsNh70+PQpM9OVwT4sQkopjrJJzpPG+hA1YpfiahF3ZnO7+k2NqF6/4wIKMuW8rR itMMjK73Lx4Ev4kG8sKEaEY7IvjYyXZqkx9BQCAMC2QhgdRzaI1raR1YUSS7yfhj 20KDoWxj65qZ25RVg0PVlBTTZAjculPoKLHc+ApePQGpeVRRzN8BdXsRrfAy/8oq U1ajtTlclBk3XBkFGQBBuTZjl9nW/MXRVI21l7RMtKFFMzuCBYM4b0bQna+PlKcj V4MEDStii3SwcpxAXXPCj8SJYodYNsXUX1ulmHb/uxehFtTXCn7libbuRnLV3Wtp N+rk7B0BoJDDcnxpjqiGeNX0kbSmfywuyX+BGB+F/zxUeGGgU/snt2AO9sw8mr7g kmByzCDMP5fFwAqaOste =oVJ2 -----END PGP SIGNATURE----- Merge pull request #4642 from jufrantz/automatic_loading_of_chaser_plugins Automatic loading of `ExportChaser` and `ImportChaser` pluginsis no…both unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> opic.com>
filenames Fix member names Refactor UndoChunkUtils RE----- wsFcBAABCAAQBQJqOT8CCRC1aQ7uu5UhlAAAXSsQAJD+nu5KEYM182GvaoREF2T3 VXGtpZyOxsyDXDmeokiiAGY+vo08ZKnMAtRKoCSB4J5fe95bI5iQG3VXjWG7oSpk mvzWMP7/r/OHpPmW7J0UA2yYOLX+MMvF5KdiuCiHJqqc0G/tpZnswNy4cz52AP6W +PXcGY58HYgwZ50RCSHRrRg9F44zqCfEJt40aqTC48jDtXSL+2O5Dx/ZIV6J12T/ AIyBMzJKp2Omccp/mO7A8H0NCT749XPmFzsUzplWjAG/+Yf19OpaSbGgxksKnBZK SsNh70+PQpM9OVwT4sQkopjrJJzpPG+hA1YpfiahF3ZnO7+k2NqF6/4wIKMuW8rR itMMjK73Lx4Ev4kG8sKEaEY7IvjYyXZqkx9BQCAMC2QhgdRzaI1raR1YUSS7yfhj 20KDoWxj65qZ25RVg0PVlBTTZAjculPoKLHc+ApePQGpeVRRzN8BdXsRrfAy/8oq U1ajtTlclBk3XBkFGQBBuTZjl9nW/MXRVI21l7RMtKFFMzuCBYM4b0bQna+PlKcj V4MEDStii3SwcpxAXXPCj8SJYodYNsXUX1ulmHb/uxehFtTXCn7libbuRnLV3Wtp N+rk7B0BoJDDcnxpjqiGeNX0kbSmfywuyX+BGB+F/zxUeGGgU/snt2AO9sw8mr7g kmByzCDMP5fFwAqaOste =oVJ2 -----END PGP SIGNATURE----- Merge pull request #4642 from jufrantz/automatic_loading_of_chaser_plugins Automatic loading of `ExportChaser` and `ImportChaser` pluginsis no…both unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> opic.com>
rcase. filenames Fix member names Refactor UndoChunkUtils RE----- wsFcBAABCAAQBQJqOT8CCRC1aQ7uu5UhlAAAXSsQAJD+nu5KEYM182GvaoREF2T3 VXGtpZyOxsyDXDmeokiiAGY+vo08ZKnMAtRKoCSB4J5fe95bI5iQG3VXjWG7oSpk mvzWMP7/r/OHpPmW7J0UA2yYOLX+MMvF5KdiuCiHJqqc0G/tpZnswNy4cz52AP6W +PXcGY58HYgwZ50RCSHRrRg9F44zqCfEJt40aqTC48jDtXSL+2O5Dx/ZIV6J12T/ AIyBMzJKp2Omccp/mO7A8H0NCT749XPmFzsUzplWjAG/+Yf19OpaSbGgxksKnBZK SsNh70+PQpM9OVwT4sQkopjrJJzpPG+hA1YpfiahF3ZnO7+k2NqF6/4wIKMuW8rR itMMjK73Lx4Ev4kG8sKEaEY7IvjYyXZqkx9BQCAMC2QhgdRzaI1raR1YUSS7yfhj 20KDoWxj65qZ25RVg0PVlBTTZAjculPoKLHc+ApePQGpeVRRzN8BdXsRrfAy/8oq U1ajtTlclBk3XBkFGQBBuTZjl9nW/MXRVI21l7RMtKFFMzuCBYM4b0bQna+PlKcj V4MEDStii3SwcpxAXXPCj8SJYodYNsXUX1ulmHb/uxehFtTXCn7libbuRnLV3Wtp N+rk7B0BoJDDcnxpjqiGeNX0kbSmfywuyX+BGB+F/zxUeGGgU/snt2AO9sw8mr7g kmByzCDMP5fFwAqaOste =oVJ2 -----END PGP SIGNATURE----- Merge pull request #4642 from jufrantz/automatic_loading_of_chaser_plugins Automatic loading of `ExportChaser` and `ImportChaser` pluginsis no…both unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> opic.com>
EMSUSD-3762 - RenderSetup undo/redof `ExportChaser` and `ImportChaser` pluginsis no…both unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> 7oSpk mvzWMP7/r/OHpPmW7J0UA2yYOLX+MMvF5KdiuCiHJqqc0G/tpZnswNy4cz52AP6W +PXcGY58HYgwZ50RCSHRrRg9F44zqCfEJt40aqTC48jDtXSL+2O5Dx/ZIV6J12T/ AIyBMzJKp2Omccp/mO7A8H0NCT749XPmFzsUzplWjAG/+Yf19OpaSbGgxksKnBZK SsNh70+PQpM9OVwT4sQkopjrJJzpPG+hA1YpfiahF3ZnO7+k2NqF6/4wIKMuW8rR itMMjK73Lx4Ev4kG8sKEaEY7IvjYyXZqkx9BQCAMC2QhgdRzaI1raR1YUSS7yfhj 20KDoWxj65qZ25RVg0PVlBTTZAjculPoKLHc+ApePQGpeVRRzN8BdXsRrfAy/8oq U1ajtTlclBk3XBkFGQBBuTZjl9nW/MXRVI21l7RMtKFFMzuCBYM4b0bQna+PlKcj V4MEDStii3SwcpxAXXPCj8SJYodYNsXUX1ulmHb/uxehFtTXCn7libbuRnLV3Wtp N+rk7B0BoJDDcnxpjqiGeNX0kbSmfywuyX+BGB+F/zxUeGGgU/snt2AO9sw8mr7g kmByzCDMP5fFwAqaOste =oVJ2 -----END PGP SIGNATURE----- Merge pull request #4642 from jufrantz/automatic_loading_of_chaser_plugins Automatic loading of `ExportChaser` and `ImportChaser` pluginsis no…both unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> opic.com>
This PR adds ability for automatic loading for USD or Maya plugins that register an
ExportChaserorImportChaser.With this change, clients no longer need to preload chaser plugins manually, wrap the MayaUSD import/export commands, load plugins at Maya startup, or rely on a JobContext plugins side effect to make a chaser available.
The implementation follows the existing
JobContextPluginandShadingModePlugindiscovery pattern. Plugins can advertise chaser support inplugInfo.jsonwith:or:
If mayaPlugin is omitted, the USD plugin is loaded directly.
Included changes: