-repeat lines-empty-2-in lines-empty-2-out +8
-repeat date-at-15-plus-6-in date-at-15-plus-6-out -5
-| foo-only-fails-lines-2-at-17-in
-repeat foo-unprefixed-line-21-in foo-unprefixed-line-21-out 17
-repeat foo-unknown-line-20-in foo-unknown-line-20-out 18
-| foo-only-fails-lines-2-at-17-out
-repeat foo-only-fails-lines-2-at-17-in foo-only-fails-lines-2-at-17-out +2
-repeat foo-unprefixed-line-21-in foo-unprefixed-line-21-out 21
-repeat status-prompt-empty-in status-prompt-empty-out
-
-# check history growing upwards if scrolled down
-repeat input-foo-cmd-foo-in input-foo-cmd-foo-out
-repeat input-foo-cmd-foo-in input-foo-cmd-foo-out
-repeat input-foo-cmd-foo-in input-foo-cmd-foo-out
-repeat input-foo-cmd-foo-in input-foo-cmd-foo-out
-repeat input-foo-cmd-foo-in input-foo-cmd-foo-out
-repeat input-foo-cmd-foo-in input-foo-cmd-foo-out
-repeat input-foo-cmd-foo-in input-foo-cmd-foo-out
-repeat input-foo-cmd-foo-in input-foo-cmd-foo-out
-repeat input-foo-cmd-foo-in input-foo-cmd-foo-out
-| scroll-returnable-1-in
-repeat foo-unknown-line-20-in foo-unknown-line-20-out 0
-repeat foo-only-fails-lines-2-at-17-in foo-only-fails-lines-2-at-17-out -16
-repeat foo-unprefixed-line-21-in foo-unprefixed-line-21-out 3
-repeat foo-only-fails-lines-2-at-17-in foo-only-fails-lines-2-at-17-out -13
-repeat foo-only-fails-lines-2-at-17-in foo-only-fails-lines-2-at-17-out -11
-repeat foo-only-fails-lines-2-at-17-in foo-only-fails-lines-2-at-17-out -9
-repeat foo-only-fails-lines-2-at-17-in foo-only-fails-lines-2-at-17-out -7
-repeat foo-only-fails-lines-2-at-17-in foo-only-fails-lines-2-at-17-out -5
-repeat foo-only-fails-lines-2-at-17-in foo-only-fails-lines-2-at-17-out -3
-repeat foo-only-fails-lines-2-at-17-in foo-only-fails-lines-2-at-17-out -1
-repeat foo-only-fails-lines-2-at-17-in foo-only-fails-lines-2-at-17-out +1
-repeat foo-only-fails-lines-2-at-17-in foo-only-fails-lines-2-at-17-out +3
-repeat status-prompt-empty-in status-prompt-empty-out
-| scroll-returnable-1-out
-
-# check scroll-up on longer history no longer starting at just date, and counting unwrapped below-lines one-to-one
+repeat lines-empty-1-in lines-empty-1-out +8
+| history-lines-0:8-at-9-in
+repeat history-lines-0:4-at-18-in history-lines-0:4-at-18-out -9
+| history-lines-4:8-at-13-in
+| history-lines-4:5-at-13-in
+line 13 on_black,bright_cyan ..# §§:§§:§§ commands available in this window:§§
+| history-lines-4:5-at-13-out
+| history-lines-5:6-at-14-in
+line 14 on_black,bright_cyan ..# §§:§§:§§ /connect HOST_PORT [NICKNAME_PW] [REALNAME_USERNAME]§§
+| history-lines-5:6-at-14-out
+| history-lines-6:8-at-15-in
+line 15 on_black,bright_cyan ..# §§:§§:§§ /help§§
+line 16 on_black,bright_cyan ..# §§:§§:§§ /list§§
+| history-lines-6:8-at-15-out
+| history-lines-4:8-at-13-out
+| history-lines-0:8-at-9-out
+| history-lines-8:12-at-17-in
+line 17 on_black,bright_cyan ..# §§:§§:§§ /prompt_enter§§
+line 18 on_black,bright_cyan ..# §§:§§:§§ /quit§§
+line 19 on_black,bright_cyan ..# §§:§§:§§ /window TOWARDS§§
+line 20 on_black,bright_cyan ..# §§:§§:§§ /window.history.scroll DIRECTION§§
+| history-lines-8:12-at-17-out
+line 21 reverse vvv [5] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv§§
+repeat status-prompt-empty-in status-prompt-empty-out
+| after-scrolldown-not-to-bottom-out
+
+# check previous scroll-down not hitting bottom be fully reversible
+> /window.history.scroll up
+repeat before-scrolldown-not-to-bottom-in before-scrolldown-not-to-bottom-out
+> /window.history.scroll down
+repeat after-scrolldown-not-to-bottom-in after-scrolldown-not-to-bottom-out
+
+# scroll to bottom, check history still growing up even beyond upper fold
+> /window.history.scroll down
+repeat lines-empty-4-in lines-empty-4-out
+repeat lines-empty-1-in lines-empty-1-out +5
+| history-lines-0:16-at-6-in
+repeat history-lines-0:8-at-9-in history-lines-0:8-at-9-out -3
+repeat history-lines-8:12-at-17-in history-lines-8:12-at-17-out -3
+| history-lines-12:16-at-18-in
+| history-lines-12:13-at-18-in
+line 18 on_black,bright_cyan ..# §§:§§:§§ /window.paste§§
+| history-lines-12:13-at-18-out
+line 19 on_black,bright_cyan ..# §§:§§:§§ /window.prompt.backspace§§
+line 20 on_black,bright_cyan ..# §§:§§:§§ /window.prompt.move_cursor DIRECTION§§
+line 21 on_black,bright_cyan ..# §§:§§:§§ /window.prompt.scroll DIRECTION§§
+| history-lines-12:16-at-18-out
+| history-lines-0:16-at-6-out
+repeat status-prompt-empty-in status-prompt-empty-out
+> /0
+log 0 .!# invalid prompt command: /0 unknown
+> /1
+log 0 .!# invalid prompt command: /1 unknown
+> /2
+log 0 .!# invalid prompt command: /2 unknown
+> /3
+log 0 .!# invalid prompt command: /3 unknown
+> /4
+log 0 .!# invalid prompt command: /4 unknown
+> /5
+log 0 .!# invalid prompt command: /5 unknown
+> /6
+log 0 .!# invalid prompt command: /6 unknown
+> /7
+log 0 .!# invalid prompt command: /7 unknown
+| at-bottom-before-wrapped-in
+repeat history-lines-2:4-at-20-in history-lines-2:4-at-20-out -20
+repeat history-lines-4:8-at-13-in history-lines-4:8-at-13-out -11
+repeat history-lines-8:12-at-17-in history-lines-8:12-at-17-out -11
+repeat history-lines-12:16-at-18-in history-lines-12:16-at-18-out -8
+| history-lines-16:24-at-14-in
+line 14 on_black,bold,bright_red,bright_cyan .!# §§:§§:§§ invalid prompt command: /0 unknown§§
+line 15 on_black,bold,bright_red,bright_cyan .!# §§:§§:§§ invalid prompt command: /1 unknown§§
+line 16 on_black,bold,bright_red,bright_cyan .!# §§:§§:§§ invalid prompt command: /2 unknown§§
+line 17 on_black,bold,bright_red,bright_cyan .!# §§:§§:§§ invalid prompt command: /3 unknown§§
+line 18 on_black,bold,bright_red,bright_cyan .!# §§:§§:§§ invalid prompt command: /4 unknown§§
+line 19 on_black,bold,bright_red,bright_cyan .!# §§:§§:§§ invalid prompt command: /5 unknown§§
+line 20 on_black,bold,bright_red,bright_cyan .!# §§:§§:§§ invalid prompt command: /6 unknown§§
+line 21 on_black,bold,bright_red,bright_cyan .!# §§:§§:§§ invalid prompt command: /7 unknown§§
+| history-lines-16:24-at-14-out
+repeat status-prompt-empty-in status-prompt-empty-out
+| at-bottom-before-wrapped-out
+
+# quick look one scroll up to check single-scroll increase of below-scroll count (when up-scroll not limited, and all lines un-wrapped)