Appearance
Cross-beat glides
A meend or ghaseet often starts in one beat and ends in another. The renderer only ever sees one beat, so it draws what that beat knows: an opening hook on the note the glide leaves, a bar through a beat it passes, a closing hook on the note it arrives at. swarlipi/bridge joins those fragments into one line once the host says where the beat cells are and which beats pair. The samples below are bridged by that module, live, from the spans each sample declares — uncheck Join the fragments to see what the renderer emitted on its own.
w — plain continuation
ਸ
qswਰੇ
erW — stroke on a lone continuation beat
ਸ
qsWਰੇ
erW on a note, with a taar dot
The tick must clear the dot.
ਸ
qsਰੇ
Wruਰੇ
erW on Ni with a taar dot
Bengali's Ni takes a dot line higher than every other letter. The bar does not move for a tick, so the ticked-Ni rule drops that dot back to the normal line to keep the dash off it.
ਸ
qsਨੀ
Wnuਰੇ
erTwo continuations
ਸ
qswwਰੇ
erW then w
ਸ
qsਰੇ
Wrwਰੇ
erAdjacent beats — no w needed
ਸ
sqਰੇ
erUnmarked gap — does not pair, so no bridge
ਸ
sqਮ
mਰੇ
erGhaseet across beats
ਸ
Qswਰੇ
ErTwo spans sharing a boundary beat — only the first is ticked
The middle beat closes the first span and opens the second. The two bars must read as two unbroken lines: a step, if any, only between the spans, never inside one.
ਸ
qsਰੇ
Wruਗ
geqwਪ
peWhich beats pair
That is the host's rule. The notation app pairs an opener with a closer when the beats are adjacent, or when every beat between them carries a dangling w or W continuation; an unmarked gap does not pair, so a stray marker forty beats away cannot connect. A later opener replaces a pending one. A beat can close one glide and open the next, in which case both bridges meet on that beat and must read as two unbroken lines.
Drawing the bridge
measureBridges runs a bar from the right edge of each zone to the left edge of the next along the span, at the zone's height, with the band's thickness from MEEND_BAR_RATIO, and anchor-pins it to both zones so print re-derives the geometry. The Integration page shows the call.