Throttle and Delay
When you look at example-reader.html[1] you see that as well as the normal verse pairs, there are pairs marked REVIEW.
This is another idea I'm experimenting with that is independent of other ordering and display choices.
Basically, when a particular clause such as καὶ εἶπεν is introduced, I never repeat more than 3 instances of it. Instead I store up any additional instances to show later as reminders.
This "throttle-and-delay" technique is a separate part of the overall pipeline that produces the text.
The ordering algorithm, before the throttle-and-delay produces something like this:
NT.John.18_c108 NT.John.20_c122 NT.John.11_c131 NT.John.9_c174 NT.John.3_c117 NT.John.12_c121 NT.John.12_c178 NT.John.6_c97 NT.John.7_c53 NT.John.13_c95 NT.John.11_c161 NT.John.21_c114 NT.John.3_c50 NT.John.9_c25 NT.John.3_c12 NT.John.4_c71 NT.John.13_c27 NT.John.1_c206 NT.John.3_c46 NT.John.3_c4
and then the penultimate step is taking this and turning it in to the following. I'll explain later what the various parts of the "learn" lines are (I'm adding to them all the time), but for now the thing to note is that know_S means "show this new clause they now know", know_A means "they know this clause at this point but don't show it yet" and know_R means "show the previously introduced clause that was delayed due to throttling"
learn καί|καί|C-|---|-----|- learn εἶπε(ν)|λέγω|V-|AAI|3-S--|-ε(ν):sa3S know_S NT.John.3_c117 know_S NT.John.6_c97 know_S NT.John.7_c53 know_A NT.John.9_c174 know_A NT.John.11_c131 know_A NT.John.11_c161 know_A NT.John.12_c121 know_A NT.John.12_c178 know_A NT.John.13_c95 know_A NT.John.18_c108 know_A NT.John.20_c122 know_A NT.John.21_c114 learn αὐτῷ|αὐτός|RP|---|-DSM-|- know_S NT.John.1_c198 know_S NT.John.1_c206 know_S NT.John.3_c4 know_A NT.John.3_c12 know_A NT.John.3_c46 know_A NT.John.3_c50 know_A NT.John.4_c71 know_A NT.John.5_c54 know_A NT.John.9_c25 know_A NT.John.13_c27 know_A NT.John.14_c101 know_A NT.John.18_c142 know_A NT.John.20_c132 learn αὐτοῖς|αὐτός|RP|---|-DPM-|- know_S NT.John.2_c64 know_S NT.John.6_c113 know_S NT.John.6_c174 know_A NT.John.7_c78 know_A NT.John.8_c24 know_A NT.John.8_c54 know_A NT.John.9_c147 know_A NT.John.13_c54 know_A NT.John.16_c78 know_R NT.John.4_c71 know_R NT.John.3_c46 know_R NT.John.5_c54
This is actually the input to the final stage that produces the HTML.
James
[1] linked from http://groups.google.com/group/graded-reader/files