seamGap property
Space between the settled prefix and the live tail.
The split always lands just after a blank line, so in the finished document that boundary carries exactly one block gap. The two halves are built as separate documents, though, and neither owns the space between them — leave this at 0 and the gap is missing for as long as the seam is there, then appears when the reply completes and the document is built whole, shifting everything below it down.
GptMarkdown passes its own block gap. Defaults to 0 so a caller supplying its own builder keeps the previous layout.
Implementation
final double seamGap;