Bug - Property Bindings Not Initializing when the path has a component with a meta.name binding in it

Was on the verge of going to support and I happened to find my issue. Perspective does not like it when you reference a property path that has bindings attached to it.

I found the bug was due to a time-saving measure I tried when copying lots of flex containers for a checkmark and color marker combo I wanted to link to my power chart. I wanted to have a custom property with the UDT instance name as well as have the container's name (meta.name) be called that. My solution was to link the container.meta.name property to my custom.displayName. It's a silly time-save in retrospect.
In my power chart, I went and set my 'enable' property to my checkmarks state (ex. ../FlexContainer/T1/Levels/T110-LET/Checkbox.props.selected, where T110-LET is my UDT name linked to that custom.displayName property I mentioned earlier.). It worked great in designer preview mode, but once I opened a session or rebooted designer, nothing worked at all. Manually going to the binding page in designer and pressing enter re-bound the binding, but it didn't last between sessions.

I think because the tag path was not 'fixed'

and since that T110-LET tag path didn't exist until the custom.displayName was read, the property binding to that spot didn't resolve and gave me a null.
After troubleshooting, I found when I got rid of my meta.name custom property binding, the issue cleared up.

The solution was not using any bindings for my meta.name properties on my components. A tad more work, but that's a separate issue.


A component's name is so fundamental to the operation of both Perspective and Vision that I don't understand why these are allowed to be bound. There are numerous historical cases of name bindings disturbing operations. Particularly since some kinds of bindings report a dummy value on startup before the real value arrives, and names have restrictions that are likely broken by a dummy value.

Just don't.

Definitely a learning moment of something I really don't want to mess around with. Just inviting issues and for things to break.