{% load lyric_extras %} {# Gate-position circles (1–6). Each carries a `.tt-pos-*` state class + #} {# `data-tt-*` payload (sprint 2026-06-02) that position-tooltip.js reads on #} {# hover to fill #id_position_tooltip_portal — @handle / title / seat-sig / #} {# bud shoptalk / #tokens / seat-clock expiry. NB: the `.tt-pos-*` class is #} {# appended AFTER `role-assigned` so the `gate-slot filled role-assigned` #} {# substring (RoleSelectRenderingTest) stays intact, and `class` stays first #} {# (before data-slot) for the class-attr regex IT. #} {# `persist_circles` (passed True by room_gate.html) suppresses the #} {# role-assigned fade-out so the GATE VIEW always keeps all six circles — #} {# the disappear-as-seated animation is a table-hex-only cue. Undefined #} {# (→ falsy) on the room.html include, which keeps the animation. #}