In https://github.com/phetsims/axon/issues/179 we identified Property instances that are re-entrant. In this context, re-entrant means a change in value of the Property causes (via listeners) another change in the value of the same Property instance.
value=0.9999999999999998, oldValue=1 // epsilon problem
value=-0.4277580409572783, oldValue=-0.5 // large delta problem
value=[Object], oldValue=[Object] // object changed to object problem. May be same object?
This issue is to search through the Properties with reentrant: true and:
(a) confirm that the Property really requires reentrant: true
(b) identify the reason for the reentry (may be one of the 3 classes above)
(c-i) see if the code can be rewritten so it no longer requires a reentrant Property, or document why the code uses a re-entrant Property
or
(c-ii) document why the code uses a re-entrant Property
Initially assigning to the responsible-dev for this repo, though it is unclear what the priority should be for this issue.
In https://github.com/phetsims/axon/issues/179 we identified Property instances that are re-entrant. In this context, re-entrant means a change in value of the Property causes (via listeners) another change in the value of the same Property instance.
Re-entry can occur for at least 3 different reasons, which are document here: https://github.com/phetsims/axon/issues/179#issuecomment-414717687
This issue is to search through the Properties with
reentrant: true
and:(a) confirm that the Property really requires
reentrant: true
(b) identify the reason for the reentry (may be one of the 3 classes above) (c-i) see if the code can be rewritten so it no longer requires a reentrant Property, or document why the code uses a re-entrant Property or (c-ii) document why the code uses a re-entrant PropertyInitially assigning to the responsible-dev for this repo, though it is unclear what the priority should be for this issue.