You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Disclaimer: I personally never really needed this, but still it looks useful.
The original Haxe tink_state library has a special compilation flag (tink_state.debug) that adds extra debugging info to each observable and a way to get the dependency tree of any observable at the given moment, which is pretty handy for debugging.
For example this code would output a nice indented tree of observables that depend on each other.
As we can see, it also stores the file/line where the observable were instantiated, which definitely helps tracking them down. It is also possible to provide custom toString methods to give them specific names, but this is usually not needed.
Note that in C# the positions can also be magically aquired, similar to haxe.PosInfos, via CallerLineNumber attribute and friends. I imagine that this can be also integrated into a Unity/Godot inspector to display nicely.
Another thing this compilation flag does is logging invalidations and the whole auto-observable machinery, which also seems quite useful.
The text was updated successfully, but these errors were encountered:
Another idea to consider is tracking dispatcher subscriptions in general (so both bindings and auto-observable dependencies), so we could have a debug tool to visualize all connections, similarly to R3 ObservableTracker.
The original Haxe tink_state library has a special compilation flag (
tink_state.debug
) that adds extra debugging info to each observable and a way to get the dependency tree of any observable at the given moment, which is pretty handy for debugging.For example this code would output a nice indented tree of observables that depend on each other.
As we can see, it also stores the file/line where the observable were instantiated, which definitely helps tracking them down. It is also possible to provide custom
toString
methods to give them specific names, but this is usually not needed.Note that in C# the positions can also be magically aquired, similar to
haxe.PosInfos
, viaCallerLineNumber
attribute and friends. I imagine that this can be also integrated into a Unity/Godot inspector to display nicely.Another thing this compilation flag does is logging invalidations and the whole auto-observable machinery, which also seems quite useful.
The text was updated successfully, but these errors were encountered: