I found this email thread here from 2008 where the relevant piece of code is:
staticDynamicTest.attributeAffects(staticDynamicTest.aCreateDynamic, staticDynamicTest.aInput) staticDynamicTest.attributeAffects(staticDynamicTest.aInput, staticDynamicTest.aStaticOutput) And then on a reply from Dean Edmonds: Your attributeAffects() calls show aCreateDynamic affecting aInput and aInput affecting aStaticOutput. That's a transitive relationship (A affects B affects C) however Maya only follows the first step in the chain. So if a new value appears on aCreateDynamic then aInput will be marked dirty, but that will not ripple on to dirty aStaticOutput. So maybe that could be why. Perhaps it's by design, to avoid unexpected cyclical dirtying? Link to the email thread: https://groups.google.com/g/python_inside_maya/c/5HlUZ6yg8FA On Tue, Feb 4, 2025 at 8:31 AM Marcus Ottosson <konstrukt...@gmail.com> wrote: > Yes, that does work and is what I've been doing, but it feels like a hack. > > Any whenever I need to debug the evaluation of my plug-ins (which is more > often than I'd like) I always look suspiciously at this type of > duplicate-connection. I thought the idea of propagating the dirty state of > any attribute was to handle cases like this, and it would set my mind at > ease knowing I'm understanding it right, or alternatively to know what I'm > missing. > > On Tue, 4 Feb 2025 at 15:43, Marcelo <marceloi...@gmail.com> wrote: > >> I’d assume you wouldn’t need this as well… but if you were to also add >> the following to the initialize: >> >> status = attributeAffects(aShapeType, aState); >> >> Would that change anything? >> >> >> On Tue, Feb 4, 2025 at 3:30 AM Marcus Ottosson <konstrukt...@gmail.com> >> wrote: >> >>> Hi all, >>> >>> Both me and the gpt's of the world are confused about why this >>> evaluation isn't happening like we'd expect. >>> >>> 1 node, 3 plugs. >>> >>> shapeType -> outputMesh -> state >>> >>> Reading from `state` should pull and compute `outputMesh`, which in turn >>> pulls and reads from `shapeType`. And it does, but only once. >>> >>> Changing `shapeType` should cause both `outputMesh` and state to become >>> dirty, such that the next time I read from `state`, it should compute it >>> once more. >>> >>> But it does not. :( Why? >>> >>> I've put together a reproducible here, can anyone spot the problem? Help! >>> >>> - https://gist.github.com/mottosso/e02a2d58482eae3e36be9d9cbd3040d1 >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Python Programming for Autodesk Maya" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to python_inside_maya+unsubscr...@googlegroups.com. >>> To view this discussion visit >>> https://groups.google.com/d/msgid/python_inside_maya/1b63e13c-1a5b-4566-92b3-ebab5a061dd9n%40googlegroups.com >>> <https://groups.google.com/d/msgid/python_inside_maya/1b63e13c-1a5b-4566-92b3-ebab5a061dd9n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Python Programming for Autodesk Maya" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to python_inside_maya+unsubscr...@googlegroups.com. >> > To view this discussion visit >> https://groups.google.com/d/msgid/python_inside_maya/CANfFM4q-VKzYxH%2BOaTDT-g9HWeoMSx-XE_9-kEGBut3s9Mxg4Q%40mail.gmail.com >> <https://groups.google.com/d/msgid/python_inside_maya/CANfFM4q-VKzYxH%2BOaTDT-g9HWeoMSx-XE_9-kEGBut3s9Mxg4Q%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > You received this message because you are subscribed to the Google Groups > "Python Programming for Autodesk Maya" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to python_inside_maya+unsubscr...@googlegroups.com. > To view this discussion visit > https://groups.google.com/d/msgid/python_inside_maya/CAFRtmOAsZAfzRNr1%3DMOXsAvBnqHgC_UYYC5iJ1W0tjz7x8YqHQ%40mail.gmail.com > <https://groups.google.com/d/msgid/python_inside_maya/CAFRtmOAsZAfzRNr1%3DMOXsAvBnqHgC_UYYC5iJ1W0tjz7x8YqHQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group. To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/python_inside_maya/CANfFM4pwmsUUdEBWEQZxENnQuM%3DU9n8mN9LREx%3D-Wbj7DjirNA%40mail.gmail.com.