package waveview.search;

//
// This object is filled in during node evaluation to help optimize searching.
// The members represent the nearest timestamp where the return value of eval
// could change (using the same unit for timestamps as TransitionVector).
// Note that this doesn't guarantee the value will change (that's why it's only
// a hint), only that the node won't change at a closer timestamp.
//
class SearchHint {
    long forward;
    long backward;
}
@@ -152,111 +152,119 @@
 amp 
-where the return value of eval%0A// could change (using the same unit for timestamps as TransitionVector)
+(smallest absolute value of delta)%0A// to the evaluated timestamp where the return value of eval%0A// could change
 .%0A//
@@ -438,21 +438,371 @@
     
-long forward;
+// Closest transition that has a larger timestamp (in the future)%0A    // This is set to Long.MAX_VALUE to indicate there are no more transitions%0A    // in this direction.%0A    long forward;%0A%0A    // Closest transition that has a smaller timestamp (in the past)%0A    // This is set to Long.MIN_VALUE to indicate there are no more transitions%0A    // in this direction.
 %0A   
@@ -818,8 +818,9 @@
 kward;%0A%7D
+%0A

Add a few clarifying comments