Closed chrisklus closed 2 months ago
@chrisklus @samreid
You added these "guards" to ReentrantScreen with commit message "Added guards around property links to indicate data flow direction":
this.xPropertyIsUserControlledProperty = new BooleanProperty( false );
this.fPropertyIsUserControlledProperty = new BooleanProperty( false );
this.pPropertyIsUserControlledProperty = new BooleanProperty( false );
This approach seems to assume that user control of the guarded Properties is mutually exclusive. Please explain how this works with multi-touch. Was this approach tested with multi-touch? Are you assuming that we will change the multi-touch requirements for this sim?
What part of the implementation suggests that it won't support multi-touch? The properties such as userControlledXProperty
could be passed to multiple touch interface components and it would still have the same effect of controlling the directionality of the data flow (between model and view). This would neither address pre-existing multi-touch issues nor introduce new multi-touch issues. This is all about controlling the directionality of data flow between the model and view.
I should also say that recent changes to DynamicProperty to prevent back-propagation may make this effort unnecessary.
The Reentrant screen now lives in this branch only, it has been deleted from master. See #65.
@samreid Can this branch be deleted?
This branch can be deleted.
This branch has been deleted.
@samreid and I are investigating here for setting up one-directional data flow for properties tied to UI components. See https://github.com/phetsims/phet-io/issues/1349